Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the autolina.ch API page →
Classifieds & Second-hand

autolina.ch API & Scraper

The autolina.ch API turns one of Switzerland's car marketplaces into JSON in six actions.

6 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

search reads about 91,000 cars, vans, campers and classics for sale on 2026-10-14, from roughly 2,300 Swiss dealers and from private sellers, with the filters the marketplace applies itself: make by name or id, model, model group, free text on the version line such as 'golf gti', condition (new, used, ex-demonstrator, classic, pre-registered), fuel with each hybrid type kept apart, gearbox, drive, body type, colour, canton, price in Swiss francs, mileage, year of first registration, horsepower, seats, listing age, photos-only, MFK-inspected and one dealer's stock, sorted by price, mileage, year or make, 1 to 100 rows a page. listing returns one car in full: the asking price and the new-car list price in CHF, the monthly leasing rate, first registration, mileage, power in hp and kW, engine size, doors, seats, weights, consumption, CO2, Euro norm, battery range, warranty, MFK inspection date, standard and optional equipment, the seller's description, every photo and the seller with the contact details the listing page itself shows. makes and models return the ids the filters take, dealer and dealers cover the supply side. Condition is read from the marketplace's own vehicle classification, never from its 'new listing' badge. One ReefAPI key, the standard { ok, data, meta, error } envelope, no autolina.ch account.

Reference

Condition versus the 'new' badge — what an autolina.ch listing actually says

autolina.ch marks freshly listed cars with a 'new' badge, and that badge also reaches the page's structured data. These are real listings read on 2026-10-14; the right-hand columns are what the API returns.

listingwhat the page's structured data saysconditionis_new_listing · price (CHF)
Ford Transit Custom van, first registered 07/2017, 171,000 kmNewConditionusedtrue · 12500
BMW, 82,000 km, listed the same dayNewConditionusedtrue · 40500
Ford E-Transit Courier, listed in JuneUsedConditionusedfalse · 24900
Rover classic, 58,000 kmUsedConditionclassicfalse · 22900

Both badged used cars in the table were printed as new in the page's structured data. condition comes from the marketplace's own vehicle classification (new, used, demo, classic, pre-registered); the badge is published separately as is_new_listing, so a 'new cars only' filter never pulls in a 171,000 km van.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/autolina/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "make": "vw",
    "model_group_id": "74",
    "fuel": "petrol",
    "year_min": 2018,
    "sort": "price_asc"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "autolina",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 728,
    "record_count": 20,
    "bytes": 55786,
    "cache_hit": false,
    "total": 948,
    "total_is_exact": true,
    "pagination": {
      "page": 1,
      "limit": 20,
      "last_page": 48,
      "has_more": true
    },
    "filters_applied": {
      "make_id": [
        52
      ],
      "model_group_id": [
        74
      ],
      "fuel": [
        "petrol"
      ],
      "year": "2018"
    },
    "sort": "price_asc",
    "upstream_requests": 1,
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "b4b234113606400c",
    "queue_ms": 1.1,
    "fetched_at": "2026-10-14T18:57:17.170Z"
  },
  "data": {
    "listings": [
      {
        "listing_id": "5021014",
        "url": "https://www.autolina.ch/auto/vw-golf-sportsvan/5021014",
        "title": "VW Golf Sportsvan 1.0 TSI Comfortline",
        "source_title": null,
        "make": "VW",
        "make_id": 52,
        "make_slug": "vw",
        "model": "GOLF SPORTSVAN",
        "model_id": 827,
        "model_slug": "golf-sportsvan",
        "version": "Golf Sportsvan 1.0 TSI Comfortline",
        "condition": "used",
        "condition_code": 1102,
        "is_new_listing": false,
        "price": 9900,
        "currency": "CHF",
        "lease_rate_monthly": null,
        "lease_type": null,
        "first_registration": "2019-03-01",
        "year": 2019,
        "construction_year": null,
        "mileage_km": 119000,
        "power_hp": 115,
        "power_kw": 85,
        "engine_ccm": 999,
        "fuel": "petrol",
        "fuel_code": 1501,
        "transmission": "manual",
        "transmission_code": 1202,
        "drive": "front_wheel",
        "drive_code": 1403,
        "body_type": "van",
        "body_type_code": 1010,
        "exterior_color": "red",
        "exterior_color_code": 1313,
        "interior_color": "black",
        "interior_color_code": 1315,
        "location": {
          "postcode": "6312",
          "city": "Steinhausen",
          "canton": "ZG",
          "country": "CH"
        },
        "seller": {
          "type": "dealer",
          "name": "Lip Automobile GmbH",
          "logo": null
        },
        "is_premium": false,
        "quality_seals": [],
        "image": "https://api.autolina.ch/auto-bild/vw-golf-sportsvan-van-occasion--gebraucht/52/827/5021014_1.jpg",
        "images": [
          "https://api.autolina.ch/auto-bild/vw-golf-sportsvan-van-occasion--gebraucht/52/827/5021014_1.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-sportsvan-van-occasion--gebraucht/52/827/5021014_2.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-sportsvan-van-occasion--gebraucht/52/827/5021014_3.jpg"
        ],
        "video_url": null,
        "updated_at": "2026-07-29 16:10:25"
      },
      {
        "listing_id": "5080948",
        "url": "https://www.autolina.ch/auto/vw-golf-variant/5080948",
        "title": "VW Golf Variant 1.5 TSI EVO Highline DSG",
        "source_title": "**IM KUNDENAUFTRAG**AB SERVICE**AB MFK",
        "make": "VW",
        "make_id": 52,
        "make_slug": "vw",
        "model": "GOLF VARIANT",
        "model_id": 8461,
        "model_slug": "golf-variant",
        "version": "Golf Variant 1.5 TSI EVO Highline DSG",
        "condition": "used",
        "condition_code": 1102,
        "is_new_listing": false,
        "price": 9995,
        "currency": "CHF",
        "lease_rate_monthly": null,
        "lease_type": null,
        "first_registration": "2018-09-01",
        "year": 2018,
        "construction_year": null,
        "mileage_km": 162100,
        "power_hp": 150,
        "power_kw": 110,
        "engine_ccm": 1498,
        "fuel": "petrol",
        "fuel_code": 1501,
        "transmission": "automatic",
        "transmission_code": 1201,
        "drive": "front_wheel",
        "drive_code": 1403,
        "body_type": "estate",
        "body_type_code": 1005,
        "exterior_color": "white",
        "exterior_color_code": 1319,
        "interior_color": "black",
        "interior_color_code": 1315,
        "location": {
          "postcode": "4802",
          "city": "Strengelbach",
          "canton": "AG",
          "country": "CH"
        },
        "seller": {
          "type": "dealer",
          "name": "Garage Deda GmbH",
          "logo": null
        },
        "is_premium": false,
        "quality_seals": [],
        "image": "https://api.autolina.ch/auto-bild/vw-golf-variant-kombi-occasion--gebraucht/52/8461/5080948_1.jpg",
        "images": [
          "https://api.autolina.ch/auto-bild/vw-golf-variant-kombi-occasion--gebraucht/52/8461/5080948_1.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-variant-kombi-occasion--gebraucht/52/8461/5080948_2.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-variant-kombi-occasion--gebraucht/52/8461/5080948_3.jpg"
        ],
        "video_url": null,
        "updated_at": "2026-10-14 18:01:34"
      },
      {
        "listing_id": "4695004",
        "url": "https://www.autolina.ch/auto/vw-golf/4695004",
        "title": "VW GOLF VII 1.0 TSI Trendline",
        "source_title": "2 jeux de roues",
        "make": "VW",
        "make_id": 52,
        "make_slug": "vw",
        "model": "GOLF",
        "model_id": 609,
        "model_slug": "golf",
        "version": "GOLF VII 1.0 TSI Trendline",
        "condition": "used",
        "condition_code": 1102,
        "is_new_listing": false,
        "price": 10200,
        "currency": "CHF",
        "lease_rate_monthly": null,
        "lease_type": null,
        "first_registration": "2019-05-01",
        "year": 2019,
        "construction_year": null,
        "mileage_km": 65000,
        "power_hp": 85,
        "power_kw": 63,
        "engine_ccm": 999,
        "fuel": "petrol",
        "fuel_code": 1501,
        "transmission": "manual",
        "transmission_code": 1202,
        "drive": "front_wheel",
        "drive_code": 1403,
        "body_type": "saloon",
        "body_type_code": 1006,
        "exterior_color": "bordeaux",
        "exterior_color_code": 1305,
        "interior_color": "other",
        "interior_color_code": 1320,
        "location": {
          "postcode": "1937",
          "city": "Orsières",
          "canton": "VS",
          "country": "CH"
        },
        "seller": {
          "type": "dealer",
          "name": "Garage du Carrefour Droz SA",
          "logo": null
        },
        "is_premium": false,
        "quality_seals": [],
        "image": "https://api.autolina.ch/auto-bild/vw-golf-limousine-occasion--gebraucht/52/609/4695004_1.jpg",
        "images": [
          "https://api.autolina.ch/auto-bild/vw-golf-limousine-occasion--gebraucht/52/609/4695004_1.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-limousine-occasion--gebraucht/52/609/4695004_2.jpg",
          "https://api.autolina.ch/auto-bild/vw-golf-limousine-occasion--gebraucht/52/609/4695004_3.jpg"
        ],
        "video_url": null,
        "updated_at": "2026-08-03 16:02:40"
      }
    ]
  }
}
Actions

What the autolina.ch API does

ActionDescriptionConcrete use caseKey params
searchSearch autolina.ch's car listings with the filters the source applies natively: make (name or id), model, model group, free text on the version line, condition, fuel, gearbox, drive, body type, colour, canton, price (CHF), mileage, year of first registration, horsepower, seats, listing age, photos-only, MFK-inspected and one dealer's stock. 1-100 rows a page. Every enum is a closed list: an unknown value is rejected instead of silently returning the whole catalogue.Price-intelligence teams call search to search autolina.ch's car listings with the filters the source applies natively.make, make_id, model_id, model_group_id, query, ...
listingOne listing in full by its id: make, model and version, condition, asking price and the new-car list price in CHF, monthly leasing rate, first registration, mileage, power in hp and kW, engine size, cylinders, gears, doors, seats, weights, fuel consumption, CO2, energy label, Euro norm, battery capacity and range, warranty, MFK inspection date, part-exchange and WIR payment, standard and optional equipment, the seller's description, every photo, views, dates, and the seller (dealer or private) with the address, phone, WhatsApp and e-mail the listing page prints. A removed listing returns NOT_FOUND.Classifieds aggregators call listing to get one listing in full by its id.listing_id
makesEvery make on autolina.ch with its live listing count — the ids `search` takes as make_id and `models` takes as make.Resale and arbitrage tools call makes to get every make on autolina.ch with its live listing count.none
modelsThe models of one make with their model groups — the ids `search` takes as model_id and model_group_id.Lead-generation teams call models to get the models of one make with their model groups.make
dealerOne dealer's profile: address, canton, phone, WhatsApp, e-mail, website, about text and the makes it has in stock. Its listings: `search` with dealer_id.Price-intelligence teams call dealer to get one dealer's profile.dealer_id
dealersThe dealer directory (~2,300 Swiss dealers), 1-100 a page, optionally by part of the name, by make sold or by quality seal.Classifieds aggregators call dealers to get the dealer directory (~2,300 Swiss dealers), 1-100 a page, optionally by part of the name, by….query, make_id, quality_seal_id, page, limit
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/autolina/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"make":"vw","model_group_id":"74","fuel":"petrol","year_min":2018,"sort":"price_asc"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.autolina.search with {"make":"vw","model_group_id":"74","fuel":"petrol","year_min":2018,"sort":"price_asc"}.
Use cases

Who uses this API and why

  • Price a used car in Switzerland: one make and model, a year window and a mileage band, and compare CHF asking prices from dealers and private sellers side by side.
  • Track the electric and hybrid market: count and list cars by exact fuel type, canton and price, and watch new listings with listed_within_days.
  • Watch one dealer's stock: pass dealer_id to search and poll for new cars and price changes.
  • Build a Swiss car search: makes and models return the live ids and counts the filters take, and every row links back to the original listing.
  • Map the dealer network: dealers by name, make sold or quality seal, dealer for the address, contact channels and the makes in stock.
FAQ

Questions developers ask before integrating

Are the prices in Swiss francs?

Yes. price is the asking price in CHF as a plain whole number, the same figure the listing page prints as CHF 12'500,-. Checked against the listing's own page on one listing from each of eight searches (VW Golf, BMW, Tesla, campers, classics, demonstrators, cars under CHF 3,000 and the newest listings), in two separate runs: the price matched the page's structured data and its title 32 of 32 times, and the mileage 16 of 16. listing also returns new_price, the new-car list price, when the seller gives it, and lease_rate_monthly when a leasing offer is attached.

How do I get only new cars, or only used ones?

Use condition: new, used, demo (ex-demonstrator), classic or pre_registered, one or several. On 2026-10-14 that was 23,821 new, 56,819 used, 8,536 demonstrators, 1,224 pre-registered cars and 817 classics. Do not use the 'new' badge for this: is_new_listing only says the car was listed recently, and used cars with six-figure mileage carry it.

Can I filter by hybrid type?

Yes. fuel keeps every type the marketplace distinguishes: petrol, diesel, electric, cng, lpg, bioethanol, hydrogen, and mild, full and plug-in hybrid, each in a petrol and a diesel version. Pass several at once, for example fuel=plugin_hybrid_petrol,plugin_hybrid_diesel returned 7,208 cars. An unknown value is refused with the list of valid ones instead of quietly returning the whole market.

How many results can I page through?

Every matching car: 1 to 100 per page, and page × limit can reach the total. With any filter the total is exact (VW: 11,189, and the last page held exactly the remainder). Without any filter the marketplace's own headline count is about 4,900 higher than the cars its search actually lists (96,121 against 91,221 when measured), so an unfiltered call says total_is_exact: false.

Who is the seller?

Every search row says whether the seller is a dealer or a private person, with the dealer's name. listing adds the seller's address, phone, WhatsApp and e-mail as the listing page shows them, and for dealers a dealer_id that dealer takes. Private sellers' names appear only in listing, not in search rows. dealers lists about 2,300 dealers, searchable by name, make sold and quality seal.

Which regions are covered?

All of Switzerland and Liechtenstein. Filter with canton as a two-letter code (ZH, BE, VD, GE, TI and so on; FL for Liechtenstein), several at once if you like. Zurich alone had 15,866 cars and Liechtenstein 532 on 2026-10-14. Every row carries the seller's postcode, town and canton.

Which fields can be empty?

Search rows are complete on make, model, version, condition, price, mileage, fuel, gearbox, body type and colour (321 of 321 rows in a mixed sample). First registration is missing on new cars that are not registered yet (17 of 49 new cars had one), power on about 2 % of rows, a photo on about 3 %. In the full listing, consumption, CO2, Euro norm and battery figures appear only when the seller typed them. Numbers the seller left at zero come back as null, and the marketplace's own odd values, such as a placeholder mileage of 999,999 km, are returned as published.

How fast is it?

One upstream request per call. Over two identical runs of 67 calls across all six actions, every call returned what it should; a search took 1.5 seconds at the median and 3.5 seconds at worst, a full listing under a second at the median.

What is the autolina.ch API?

autolina.ch API is a ReefAPI endpoint group for switzerland's car market as json: about 91,000 new and used cars with make, model, condition, first registration, mileage, the asking price in chf, fuel including every hybrid type, and the dealer or private seller behind each one. It returns live JSON through POST requests under /autolina/v1.

Is the autolina.ch API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. autolina.ch calls use the same shared credit balance as every other ReefAPI engine.

Do I need an autolina.ch login or account?

No login to autolina.ch is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the autolina.ch data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the autolina.ch API use?

autolina.ch actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call autolina.ch from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call autolina actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / autolina

autolina.ch

Switzerland's car market as JSON: about 91,000 new and used cars with make, model, condition, first registration, mileage, the asking price in CHF, fuel including every hybrid type, and the dealer or private seller behind each one.

base /autolina/v16 endpoints
post/autolina/v1/listing1 credit

One listing in full by its id: make, model and version, condition, asking price and the new-car list price in CHF, monthly leasing rate, first registration, mileage, power in hp and kW, engine size, cylinders, gears, doors, seats, weights, fuel consumption, CO2, energy label, Euro norm, battery capacity and range, warranty, MFK inspection date, part-exchange and WIR payment, standard and optional equipment, the seller's description, every photo, views, dates, and the seller (dealer or private) with the address, phone, WhatsApp and e-mail the listing page prints. A removed listing returns NOT_FOUND.

ParameterAllowed / rangeDescription
listing_idrequired—The `listing_id` of a search row, passed as is (or the number at the end of an autolina.ch/auto/… URL).
Try in playground →
post/autolina/v1/makes1 credit

Every make on autolina.ch with its live listing count — the ids `search` takes as make_id and `models` takes as make.

Try in playground →
post/autolina/v1/models2 credits

The models of one make with their model groups — the ids `search` takes as model_id and model_group_id.

ParameterAllowed / rangeDescription
makeoptional—Make id (from `makes`) or the make's name/slug (vw, bmw, mercedes-benz).
Try in playground →
post/autolina/v1/dealer1 credit

One dealer's profile: address, canton, phone, WhatsApp, e-mail, website, about text and the makes it has in stock. Its listings: `search` with dealer_id.

ParameterAllowed / rangeDescription
dealer_idrequired—Dealer id: `seller.dealer_id` of a listing or `dealer_id` of the `dealers` action.
Try in playground →
post/autolina/v1/dealers1 credit

The dealer directory (~2,300 Swiss dealers), 1-100 a page, optionally by part of the name, by make sold or by quality seal.

ParameterAllowed / rangeDescription
queryoptional—Part of the dealer's name.
make_idoptional1–Only dealers selling this make (id from `makes`).
quality_seal_idoptional22 · 23 · 24Only dealers carrying this quality seal.
page = 1optional1–10000Page number. The source serves every matching row (no depth cap below the total was found), so page × limit can reach the total.
limit = 20optional1–100Dealers per page, 1-100.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.