markt.de
markt.de
/marktde/v1/search1 creditSearch markt.de classifieds by keyword and/or category, restricted by place + radius, price range, ad type (private / commercial / wanted), price type (fixed / negotiable / free / swap) and sort order. Returns the ads on one page with markt.de's true total. Every filter is confirmed against markt.de's own canonical URL first: a place or category markt.de does not know is REFUSED instead of being silently dropped (which would return the whole catalogue). A search with no matches returns zero rows and ok:true — that is an answer.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | optional | — | Free-text keyword, e.g. a product, model or job title. search needs query OR category (or both). |
| category | optional | — | markt.de category id, from the categories action (e.g. 2000000000 = Fahrzeuge, 2200000000 = Haus & Garten, 2220110000 = Tische). An id markt.de does not know is rejected, not silently ignored. |
| location | optional | — | German place name exactly as markt.de spells it — city, district, Landkreis or Bundesland (use the locations action to resolve free text). A place markt.de does not know is rejected, not ignored. |
| radius | optional | 0–300 | Search radius in km around location (requires location). 0 = the place itself. |
| price_min | optional | 0– | Lowest price in EUR. |
| price_max | optional | 0– | Highest price in EUR. |
| ad_type | optional | private · commercial · wanted | Who placed the ad / what kind of ad it is. |
| price_type | optional | fixed · negotiable · best_offer · free · swap · hourly | How the price is meant — markt.de's own Preistyp. |
| sort = newest | optional | newest · price_asc · price_desc | Result order. |
| page = 1 | optional | 1–200 | 1-based result page; 20 ads per page. |
/marktde/v1/detail1 creditOne markt.de ad in full, by ad id or ad URL: title, price (with markt.de's own machine price as a cross-check), full description, the seller's attribute table (e.g. Hersteller / Farbe / Zimmer), category breadcrumb, place, posting time and every photo. A removed or unknown ad returns NOT_FOUND.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| id | optional | — | The 8-character ad id — the /a/<id>/ part of an ad URL, and the `id` of every search result. detail needs id OR url. |
| url | optional | — | Full markt.de ad URL. |
/marktde/v1/categories1 creditmarkt.de's category tree one level at a time, WITH a live ad count per child — so you can pick a `category` id for search and see how many ads it holds. Called with no parent it returns the ten top-level categories; with a parent id it returns that category's children; with a query it returns how the matches for that keyword split across categories.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| parent | optional | — | Category id whose children to list (from a previous categories call). Omit for the top level. |
| query | optional | — | Optional keyword — the counts then describe how that keyword's matches are distributed over the categories. |
/marktde/v1/locations1 creditGerman place autocomplete straight from markt.de: free text in, markt.de's own spellings out (cities, districts, Landkreise, Bundesländer). Feed a returned name to search's `location` — search only accepts places markt.de knows.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | Partial or full place name. |
curl -X POST https://api.reefapi.com/marktde/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"fahrrad"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}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.
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.
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.
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.