Go client for auto-api.com — car listings from 8 marketplaces (encar, mobile.de, autoscout24, che168, dongchedi, guazi, dubicars, dubizzle).
No external dependencies. Stdlib net/http + encoding/json only. Supports context for timeouts and cancellation.
go get github.com/autoapicom/auto-api-goimport "github.com/autoapicom/auto-api-go"
client := autoapi.NewClient("your-api-key")
ctx := context.Background()filters, err := client.GetFilters(ctx, "encar")offers, err := client.GetOffers(ctx, "mobilede", &autoapi.OffersParams{
Page: 1,
Brand: "BMW",
YearFrom: 2020,
})
// Pagination
fmt.Println(offers.Meta.Page)
fmt.Println(offers.Meta.NextPage)offer, err := client.GetOffer(ctx, "encar", "40427050")changeID, err := client.GetChangeID(ctx, "encar", "2025-01-15")
changes, err := client.GetChanges(ctx, "encar", changeID)
// Next batch
nextBatch, err := client.GetChanges(ctx, "encar", changes.Meta.NextChangeID)info, err := client.GetOfferByURL(ctx, "https://encar.com/dc/dc_cardetailview.do?carid=40427050")Each marketplace returns different fields, so OfferItem.Data is json.RawMessage. Unmarshal it yourself:
for _, item := range offers.Result {
var d autoapi.OfferData
json.Unmarshal(item.Data, &d)
fmt.Printf("%s %s %s — $%s\n", d.Mark, d.Model, d.Year, d.Price)
}import "errors"
offers, err := client.GetOffers(ctx, "encar", &autoapi.OffersParams{Page: 1})
if err != nil {
var authErr *autoapi.AuthError
var apiErr *autoapi.ApiError
if errors.As(err, &authErr) {
// 401/403 — invalid API key
} else if errors.As(err, &apiErr) {
fmt.Println(apiErr.StatusCode, apiErr.Message)
}
}| Source | Platform | Region |
|---|---|---|
encar |
encar.com | South Korea |
mobilede |
mobile.de | Germany |
autoscout24 |
autoscout24.com | Europe |
che168 |
che168.com | China |
dongchedi |
dongchedi.com | China |
guazi |
guazi.com | China |
dubicars |
dubicars.com | UAE |
dubizzle |
dubizzle.com | UAE |
| Language | Package |
|---|---|
| PHP | autoapi/client |
| TypeScript | @autoapicom/client |
| Python | autoapicom-client |
| C# | AutoApi.Client |
| Java | auto-api-client |
| Ruby | auto-api-client |
| Rust | auto-api-client |