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

leboncoin API & Scraper

The leboncoin API returns France's largest classifieds site as clean JSON in five actions: search for the marketplace in any category, real_estate/search for property for sale, rent, flat-shares and commercial property, cars/search for cars, motorcycles, vans and campervans, listing for the full record of any ad, and categories for leboncoin's category ids, regions and departments.

5 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.

Every row carries the price, whether the item is a free give-away, a flag when the price is a placeholder such as 1 € or 99,999,999 €, the earlier price when the seller dropped it, town, postcode, department and region, pro or private seller, condition, whether the seller ships, urgent and paid-promotion flags, publication and re-publication dates in Paris time, images and the description. Real-estate rows add surface, rooms, bedrooms, floor, energy class, heating, charges and deposit, agency fees and who pays them, and new-build programmes with their units; vehicle rows add make, model, version, model year, first registration, mileage, fuel, gearbox, body type, horsepower, engine size, Crit'Air, equipment and leboncoin's own market price estimate. Every filter was checked live to narrow the result and every returned row to match it: condition, shipping, free only, urgent, price, category, town and postcode, department, region, radius around a point, pro or private, a seller's other ads, property type, surface, rooms, energy class, furnished, make, model, year, mileage, fuel, gearbox and body type. Paid 'À la une' placements are kept apart from the organic results. On 10 ads in 6 categories, the title, the visible price, the postcode, the seller type and the photo count matched each ad's own page. No leboncoin account, no browser - one ReefAPI key and the standard { ok, data, meta, error } envelope.

Reference

Five leboncoin prices that are not simply a price

A leboncoin ad can be a free give-away with no price, show a placeholder number, carry an earlier price, list only the cheapest lot of a new-build programme, or sit in a price-sorted page where it does not belong. Each looks like an ordinary number or an ordinary null. This engine labels every one.

Ad (category)priceflagthe catch
Three-seat sofa, Ameublement ('Don')0is_free: trueleboncoin publishes no price at all for a give-away; 0 is returned only here - any other missing price is null with price_not_published
Bike listings sorted by highest price, Vélos99999999price_looks_placeholder: trueThe top of the price-descending sort is placeholder numbers; 1 € is used the same way for swaps and 'contact me' ads
Refurbished smartphone from a pro seller, Téléphones230price_before_reduction: 270The seller dropped the price; discount_pct 14.8. A give-away's old price is never treated as a discount
New-build programme near Bordeaux, Ventes immobilières257519price_is_from: trueOne lot's price; the programme's other lots come as property.units[] with surface and price
'velo' between 100 and 500 € sorted by price, marketplace-dropped_outside_price_range: 19leboncoin mixes holiday rentals at 1 €, 890 € and 985 € into that sort; rows outside the range you asked for are removed and counted

Measured on 2026-09-15. 3,830 bike ads were priced at 1 € that day; in one price-sorted page of 35, 19 rows fell outside the requested range. Classified ads come and go - the rows above are dated.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/leboncoin/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "velo"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "leboncoin",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1125,
    "record_count": 35,
    "bytes": 201506,
    "cache_hit": false,
    "stop_reason": "limit_reached"
  },
  "data": {
    "listings": [
      {
        "ad_id": "3266471918",
        "title": "Velo",
        "url": "https://www.leboncoin.fr/ad/sport_plein_air/3266471918",
        "category_id": "29",
        "category": "Sport & Plein air",
        "ad_type": "offer",
        "status": "active",
        "price": 40,
        "currency": "EUR",
        "is_free": false,
        "price_not_published": false,
        "price_looks_placeholder": false,
        "price_before_reduction": null,
        "discount_pct": null,
        "published_at": "2026-09-09T16:27:08+02:00",
        "republished_at": "2026-09-15T16:27:08+02:00",
        "expires_at": null,
        "location": {
          "city": "Mécleuves",
          "zipcode": "57245",
          "district": null,
          "department_id": "57",
          "department": "Moselle",
          "region_id": "15",
          "region": "Lorraine",
          "country": "FR",
          "latitude": 49.04235,
          "longitude": 6.26787,
          "coordinates_precision": "city",
          "coordinates_withheld": false
        },
        "seller": {
          "type": "private",
          "seller_id": "4cc1a8e5-c681-483e-93ca-bb88d5d1421b",
          "store_id": "22630292",
          "name": "ISABELLE",
          "name_withheld": false,
          "siren": null,
          "shop_name": null,
          "shop_logo": null,
          "online_store_id": null,
          "profile_picture": "https://img.leboncoin.fr/api/v1/tenants/9a6387a1-6259-4f2c-a887-7e67f23dd4cb/domains/20bda58f-d650-462e-a72a-a5a7ecf2bf88/buckets/21d2b0bc-e54c-4b64-a30b-89127b18b785/images/profile/pictures/default/87d78b4a-ad01-502b-9dab-da001c62717b?rule=pp-small",
          "refuses_canvassing": true,
          "has_phone": false,
          "rating_score": null,
          "rating_scale": null,
          "rating_count": null
        },
        "brand": null,
        "condition": "bonetat",
        "condition_label": "Bon état",
        "shippable": false,
        "shipping_type": "face_to_face",
        "parcel_size": "M",
        "is_urgent": false,
        "is_boosted": true,
        "paid_options": [
          "sub_toplist"
        ],
        "thumbnail": "https://img.leboncoin.fr/api/v1/lbcpb1/images/3c/d2/43/3cd2434378b3ace8434c8d2ed18d86b64b7a4531.jpg?rule=ad-small",
        "image_count": 7,
        "images": [
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/3c/d2/43/3cd2434378b3ace8434c8d2ed18d86b64b7a4531.jpg?rule=ad-large",
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/05/4c/ea/054cea718762cb7ca61f0aad46917b109bb32d8c.jpg?rule=ad-large",
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/31/44/6e/31446e260ee1b9b1b88efdf2ed91af34f40d37e0.jpg?rule=ad-large"
        ],
        "description": "Je vends ce vélo enfant de couleur rouge et bleu, parfait pour les balades et l'apprentissage du cyclisme.\n- Type de produit : Vélo enfant\n- Couleur : Rouge et bleu\n- Cadre : Acier\n- Roues : Pneus noirs\n- Selle : Selle noire réglable\n- Guidon : Guidon noir avec poignées\n- Accessoires inclus : Porte-téléphone, Réflecteurs orange\n- Fonctionnalités : Dérailleur, Freins\n- Activité/Sport : Loisir, Déplacements urbains\nBon état\nN'hésitez pas à me contacter pour plus d'informations ou de photos supplémentaires !"
      },
      {
        "ad_id": "3268644710",
        "title": "Velo",
        "url": "https://www.leboncoin.fr/ad/sport_plein_air/3268644710",
        "category_id": "29",
        "category": "Sport & Plein air",
        "ad_type": "offer",
        "status": "active",
        "price": 70,
        "currency": "EUR",
        "is_free": false,
        "price_not_published": false,
        "price_looks_placeholder": false,
        "price_before_reduction": null,
        "discount_pct": null,
        "published_at": "2026-09-13T10:52:59+02:00",
        "republished_at": "2026-09-16T10:52:59+02:00",
        "expires_at": null,
        "location": {
          "city": "Bordeaux",
          "zipcode": "33100",
          "district": "La Bastide",
          "department_id": "33",
          "department": "Gironde",
          "region_id": "2",
          "region": "Aquitaine",
          "country": "FR",
          "latitude": 44.84272,
          "longitude": -0.54612,
          "coordinates_precision": "address",
          "coordinates_withheld": false
        },
        "seller": {
          "type": "private",
          "seller_id": "ec176fc9-f1d2-4964-863d-dbd6c6fec742",
          "store_id": "41434180",
          "name": "collo21",
          "name_withheld": false,
          "siren": null,
          "shop_name": null,
          "shop_logo": null,
          "online_store_id": null,
          "profile_picture": "https://img.leboncoin.fr/api/v1/tenants/9a6387a1-6259-4f2c-a887-7e67f23dd4cb/domains/20bda58f-d650-462e-a72a-a5a7ecf2bf88/buckets/21d2b0bc-e54c-4b64-a30b-89127b18b785/images/profile/pictures/default/5fda3f2f-b0c0-5aac-89dd-1944a2c7318d?rule=pp-small",
          "refuses_canvassing": true,
          "has_phone": false,
          "rating_score": 1,
          "rating_scale": 1,
          "rating_count": 8
        },
        "brand": "Autre",
        "condition": "bonetat",
        "condition_label": "Bon état",
        "shippable": true,
        "shipping_type": "mondial_relay",
        "parcel_size": "M",
        "is_urgent": false,
        "is_boosted": true,
        "paid_options": [
          "sub_toplist"
        ],
        "thumbnail": "https://img.leboncoin.fr/api/v1/lbcpb1/images/34/dd/08/34dd08f1afd101afbd880f11da4d6879830ea060.jpg?rule=ad-small",
        "image_count": 4,
        "images": [
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/34/dd/08/34dd08f1afd101afbd880f11da4d6879830ea060.jpg?rule=ad-large",
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/3f/2b/e5/3f2be53c29c2b4fbd759805bba38deed1641c1dc.jpg?rule=ad-large",
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/c5/ea/6c/c5ea6cb848307b45bb4d4210ce5cea49c82b363c.jpg?rule=ad-large"
        ],
        "description": "Je vends ce vélo de ville turquoise, pratique pour les déplacements urbains et les balades.\n- Type de produit : Vélo de ville\n- Couleur : Turquoise\n- Matière : Acier\n- Accessoires inclus : Panier avant, Porte-bagages arrière, Béquille\nBon état\nN'hésitez pas à me contacter pour plus d'informations ou de photos !"
      },
      {
        "ad_id": "3266206251",
        "title": "Velo",
        "url": "https://www.leboncoin.fr/ad/sport_plein_air/3266206251",
        "category_id": "29",
        "category": "Sport & Plein air",
        "ad_type": "offer",
        "status": "active",
        "price": 130,
        "currency": "EUR",
        "is_free": false,
        "price_not_published": false,
        "price_looks_placeholder": false,
        "price_before_reduction": null,
        "discount_pct": null,
        "published_at": "2026-09-09T09:32:45+02:00",
        "republished_at": "2026-09-16T09:32:46+02:00",
        "expires_at": null,
        "location": {
          "city": "Mulhouse",
          "zipcode": "68100",
          "district": null,
          "department_id": "68",
          "department": "Haut-Rhin",
          "region_id": "1",
          "region": "Alsace",
          "country": "FR",
          "latitude": 47.7517,
          "longitude": 7.34367,
          "coordinates_precision": "city",
          "coordinates_withheld": false
        },
        "seller": {
          "type": "private",
          "seller_id": "b133f4c2-b618-4a1e-ae28-6e2787b2f578",
          "store_id": "65901420",
          "name": "Wahib birdouz",
          "name_withheld": false,
          "siren": null,
          "shop_name": null,
          "shop_logo": null,
          "online_store_id": null,
          "profile_picture": "https://img.leboncoin.fr/api/v1/tenants/9a6387a1-6259-4f2c-a887-7e67f23dd4cb/domains/20bda58f-d650-462e-a72a-a5a7ecf2bf88/buckets/21d2b0bc-e54c-4b64-a30b-89127b18b785/images/profile/pictures/default/b2e81031-b0ec-5c0b-bde7-a4c6e4f6e63b?rule=pp-small",
          "refuses_canvassing": true,
          "has_phone": false,
          "rating_score": 1,
          "rating_scale": 1,
          "rating_count": 1
        },
        "brand": null,
        "condition": null,
        "condition_label": null,
        "shippable": false,
        "shipping_type": "face_to_face",
        "parcel_size": "M",
        "is_urgent": false,
        "is_boosted": true,
        "paid_options": [],
        "thumbnail": "https://img.leboncoin.fr/api/v1/lbcpb1/images/f8/8a/01/f88a017008c96dfe2616ad7512b18bf70b84e04e.jpg?rule=ad-small",
        "image_count": 1,
        "images": [
          "https://img.leboncoin.fr/api/v1/lbcpb1/images/f8/8a/01/f88a017008c96dfe2616ad7512b18bf70b84e04e.jpg?rule=ad-large"
        ],
        "description": "Je vends ce vélo elliptique de fitness, parfait pour l'entraînement cardio à domicile.\n- Type de produit : Vélo elliptique\n- Activité/Sport : Fitness, cardio-training\n- Marque : Domyos\n- Couleur : Noir et jaune\n- Fonctionnalités : Pédales réglables, Guidon mobile, Structure stable\n- Accessoires inclus : Capteurs de fréquence cardiaque\nN'hésitez pas à me contacter pour plus d'informations ou de photos supplémentaires !"
      }
    ],
    "count": 35,
    "total": 1387968,
    "total_pro": 56858,
    "total_private": 1331110,
    "dropped_outside_price_range": 0,
    "sponsored_available": 0,
    "page": 1,
    "limit": 35,
    "sort_applied": "relevance",
    "has_more": true,
    "next_page_token": "[redacted-secret]"
  }
}
Actions

What the leboncoin API does

ActionDescriptionConcrete use caseKey params
searchSearch leboncoin, France's largest classifieds site, by keyword and/or category: price (free 'Don' items and placeholder prices labelled, price drops with the earlier price), town, postcode, department and region, pro or private seller, condition, shipping available, urgent and paid options, publication and re-publication dates, images and description. Filter by price, category, location or radius, condition, shipping, free only, urgent only, seller type or seller; sort by relevance, newest, oldest or price.Price-intelligence teams call search to search leboncoin, France's largest classifieds site, by keyword and/or category.query, titles_only, category, condition, shippable, ...
real_estate/searchSearch leboncoin real estate — sales, rentals, flat-shares and commercial property: price or rent, price per m², surface, land surface, rooms, bedrooms, floor, energy and climate class, heating, building year, furnished, charges and deposit, agency fees and who pays them, new-build programmes with their units, town, postcode, district and department, agency or private owner, images. Filter by transaction, property type, price, surface, rooms, bedrooms, energy class, sale type, furnished and location or radius; sort by relevance, newest or price.Classifieds aggregators call real_estate/search to search leboncoin real estate.transaction, query, property_type, sell_type, price_min, ...
cars/searchSearch leboncoin vehicles — cars, motorcycles, vans and campervans: price and price drops, make, model, version, trim, model year, first registration, mileage, fuel, gearbox, body type, doors, seats, fiscal and DIN horsepower, engine size, colour, condition, Crit'Air, inspection, battery health, equipment, leboncoin's market price estimate, dealer or private seller, town and department. Filter by vehicle type, make, model, year, mileage, fuel, gearbox, body type, engine size, price, seller type and location; sort by relevance, newest or price.Resale and arbitrage tools call cars/search to search leboncoin vehicles.vehicle_type, query, make, model, year_min, ...
listingThe full leboncoin ad by id or URL, in any category: title, price (free, placeholder and price-drop labelled), description, all images, status, condition, shipping, every published attribute with its French label, publication, re-publication and expiry dates, location, vehicle or property details, paid options, and the seller — a pro's company, SIREN and shop; a private seller's name withheld.Lead-generation teams call listing to get the full leboncoin ad by id or URL, in any category.ad_id, include_pii, max_rotations
categoriesleboncoin's category tree (ids, names, parents, and which shortcut categories map to another) and its regions with their departments — the ids the search actions accept.Price-intelligence teams call categories to get leboncoin's category tree (ids, names, parents, and which shortcut categories map to another)….max_rotations
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/leboncoin/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"velo"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.leboncoin.search with {"query":"velo"}.
Use cases

Who uses this API and why

  • Property analysts track asking prices, price per m², rents, charges and energy classes by department and town with real_estate/search, including new-build programmes and their lots.
  • Car dealers and valuation tools watch used-car prices, price drops and leboncoin's own market estimate by make, model, year and mileage with cars/search.
  • Resale and pricing tools compare second-hand prices by condition and shipping, keeping give-aways and placeholder prices out of the averages.
  • Lead-generation and market-mapping teams list every ad of a pro seller with seller_id, with the SIREN number, without collecting private sellers' personal data.
FAQ

Questions developers ask before integrating

Which parts of leboncoin does the API cover?

The whole site in three search actions. search covers every marketplace category (bikes, furniture, phones, clothes, games and so on) with leboncoin's own category ids. real_estate/search covers property for sale, for rent, flat-shares and offices and shops - 10,319 properties for sale in Paris on 2026-09-15. cars/search covers cars, motorcycles, vans and campervans - 64,355 Volkswagen cars that day. listing returns the full ad from any category, and categories lists leboncoin's 114 categories and its regions and departments. leboncoin is French only; prices are in EUR.

Is a private seller's name or phone number included?

No. A private seller's display name and profile picture are left out, and when leboncoin placed the ad at a street address the exact coordinates are left out too - the town, postcode and department stay. Phone numbers and e-mail addresses typed into a description are masked, including French formats such as 06 12 34 56 78. leboncoin does not show phone numbers to visitors, so the API only says whether the seller has one. For pro sellers the company name, SIREN number and shop name are returned.

How do I tell a free item, a placeholder price and a missing price apart?

By the flags on every row. A give-away ('Don') has price 0 and is_free true. An ad that publishes no price has price null and price_not_published true. A number that is used as a placeholder - 1 €, 99,999,999 € and similar - keeps its value and has price_looks_placeholder true, so you can exclude it from averages. A price the seller lowered carries price_before_reduction and discount_pct.

Are sponsored and promoted ads marked?

Paid 'À la une' placements are not mixed into the results; ask for include_sponsored and they come back apart under sponsored[]. Organic ads that bought options carry them in paid_options (for example urgent or top list), plus is_urgent and is_boosted. Nothing organic is removed.

Do the filters really narrow the results?

Each one was checked live on 2026-09-15: the filtered total had to be smaller than the unfiltered one, and every returned row had to match. For 'velo' (1,387,977 ads): new condition 192,876, shipped by the seller 568,399, pro sellers 56,888, Bouches-du-Rhône 33,761, a 5 km radius around Lyon 17,278. For Volkswagen cars (64,355): Golf 19,561, diesel 27,554, automatic 33,289, 2018 to 2020 9,996. For Paris sales (10,319): apartments 8,647, 50 to 80 m² 2,302, energy class A or B 140.

Why is there a page_token, and do I need it?

leboncoin re-ranks its relevance order on every request, so asking for page 2 on its own repeated 6 of the 35 ads of page 1 in our test. Every search returns next_page_token; pass it as page_token with page 2 and the pages do not overlap - checked live. Sorting by newest or oldest does not need the token. leboncoin shows the first 3,500 results of any search; narrow the search to go further.

Can I look up an ad by its URL, and how do I get all of a seller's ads?

listing accepts the ad id or the full leboncoin ad URL. Every row carries seller.seller_id and seller.store_id; pass either back as seller_id on any search action to list that seller's ads - checked live. An ad that has been removed returns NOT_FOUND.

What does leboncoin not publish?

Phone numbers, which leboncoin keeps behind its messaging. Private sellers' real names. Ratings for many sellers - where a rating exists it is a score from 0 to 1 with the number of reviews. A sold status: removed ads simply disappear and return NOT_FOUND. Shipping prices before checkout, view counts, stock and barcodes.

What is the leboncoin API?

leboncoin API is a ReefAPI endpoint group for france's largest classifieds: marketplace, real estate and vehicles as json. It returns live JSON through POST requests under /leboncoin/v1.

Is the leboncoin API free to try?

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

Do I need a leboncoin login or account?

No login to leboncoin 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 leboncoin 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 leboncoin API use?

leboncoin actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call leboncoin from an AI assistant or MCP client?

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

docs / leboncoin

leboncoin

France's largest classifieds: marketplace, real estate and vehicles as JSON.

base /leboncoin/v15 endpoints
post/leboncoin/v1/real_estate/search2 credits

Search leboncoin real estate — sales, rentals, flat-shares and commercial property: price or rent, price per m², surface, land surface, rooms, bedrooms, floor, energy and climate class, heating, building year, furnished, charges and deposit, agency fees and who pays them, new-build programmes with their units, town, postcode, district and department, agency or private owner, images. Filter by transaction, property type, price, surface, rooms, bedrooms, energy class, sale type, furnished and location or radius; sort by relevance, newest or price.

ParameterAllowed / rangeDescription
transactionrequiredsale · rent · flatshare · commercialsale, rent, flatshare or commercial.
queryoptionalFree-text keyword, as typed into leboncoin's search box.
property_typeoptionalhouse · apartment · land · parking · otherOne or more of house, apartment, land, parking, other.
sell_typeoptionalold · new · life_annuitySales only: old, new (new-build) or life_annuity (viager).
price_minoptional0–Lowest price in EUR (monthly rent on rentals).
price_maxoptional0–Highest price in EUR (monthly rent on rentals).
surface_minoptional0–Smallest living surface, m².
surface_maxoptional0–Largest living surface, m².
land_surface_minoptional0–Smallest plot, m².
land_surface_maxoptional0–Largest plot, m².
rooms_minoptional1–20Fewest rooms.
rooms_maxoptional1–20Most rooms.
bedrooms_minoptional1–20Fewest bedrooms.
bedrooms_maxoptional1–20Most bedrooms.
energy_classoptionala · b · c · d · e · f · gEnergy (DPE) classes, e.g. ["a", "b"].
furnishedoptionalRentals: true furnished only, false unfurnished only.
cityoptionalTown name, e.g. Lyon. Combine with zipcode for one arrondissement.
zipcodeoptional5-digit postcode; needs city.
departmentoptionalFrench department number, e.g. 13, 69, 75.
regionoptionalleboncoin region id, e.g. 12 = Ile-de-France (see categories).
latitudeoptionalCentre of a radius search (with longitude).
longitudeoptionalCentre of a radius search (with latitude).
radius_km = 10optional1–200Radius around latitude/longitude, km.
seller_typeoptionalpro · privateOnly professional or only private sellers.
seller_idoptionalA seller's seller_id (UUID) or store_id from a result row: that seller's ads.
sort = relevanceoptionalrelevance · newest · oldest · price_asc · price_descrelevance, newest (last re-published first), oldest, price_asc or price_desc.
page = 1optional1–3500Result page (leboncoin serves the first 3,500 results).
page_tokenoptionalnext_page_token from the previous page of the same search. Relevance order is re-ranked on every request; without the token, page 2 can repeat ads from page 1.
limit = 35optional1–100Rows per page, up to 100.
include_sponsored = falseoptionalAlso return leboncoin's paid 'À la une' placements, apart, under sponsored[].
include_pii = falseoptionalReturn private sellers' display names, exact coordinates and unmasked descriptions.
max_rotations = 3optional1–5Upstream attempts on fresh exits before giving up.
Try in playground →
post/leboncoin/v1/cars/search2 credits

Search leboncoin vehicles — cars, motorcycles, vans and campervans: price and price drops, make, model, version, trim, model year, first registration, mileage, fuel, gearbox, body type, doors, seats, fiscal and DIN horsepower, engine size, colour, condition, Crit'Air, inspection, battery health, equipment, leboncoin's market price estimate, dealer or private seller, town and department. Filter by vehicle type, make, model, year, mileage, fuel, gearbox, body type, engine size, price, seller type and location; sort by relevance, newest or price.

ParameterAllowed / rangeDescription
vehicle_type = caroptionalcar · motorcycle · caravan · vancar (default), motorcycle, van or caravan.
queryoptionalFree-text keyword, as typed into leboncoin's search box.
makeoptionalMake as leboncoin lists it, e.g. VOLKSWAGEN, PEUGEOT, YAMAHA (cars, motorcycles, vans).
modeloptionalCars: model name, with make (e.g. Golf).
year_minoptional1900–2100Earliest model year.
year_maxoptional1900–2100Latest model year.
mileage_minoptional0–Lowest mileage, km.
mileage_maxoptional0–Highest mileage, km.
fueloptionalpetrol · diesel · lpg · electric · other · hybrid · natural_gas · plug_in_hybrid · hydrogenpetrol, diesel, hybrid, plug_in_hybrid, electric, lpg, natural_gas, hydrogen, other.
gearboxoptionalmanual · automaticmanual or automatic.
body_typeoptionalsuv · sedan · estate · convertible · city_car · coupe · mpv · company_car · other · motorcycle · scooter · quad · mopedCars: suv, sedan, estate, convertible, city_car, coupe, mpv, company_car, other. Motorcycles: motorcycle, scooter, quad, moped, other.
cubic_capacity_minoptional0–Motorcycles: smallest engine, cm³.
cubic_capacity_maxoptional0–Motorcycles: largest engine, cm³.
price_minoptional0–Lowest price in EUR (monthly rent on rentals).
price_maxoptional0–Highest price in EUR (monthly rent on rentals).
cityoptionalTown name, e.g. Lyon. Combine with zipcode for one arrondissement.
zipcodeoptional5-digit postcode; needs city.
departmentoptionalFrench department number, e.g. 13, 69, 75.
regionoptionalleboncoin region id, e.g. 12 = Ile-de-France (see categories).
latitudeoptionalCentre of a radius search (with longitude).
longitudeoptionalCentre of a radius search (with latitude).
radius_km = 10optional1–200Radius around latitude/longitude, km.
seller_typeoptionalpro · privateOnly professional or only private sellers.
seller_idoptionalA seller's seller_id (UUID) or store_id from a result row: that seller's ads.
sort = relevanceoptionalrelevance · newest · oldest · price_asc · price_descrelevance, newest (last re-published first), oldest, price_asc or price_desc.
page = 1optional1–3500Result page (leboncoin serves the first 3,500 results).
page_tokenoptionalnext_page_token from the previous page of the same search. Relevance order is re-ranked on every request; without the token, page 2 can repeat ads from page 1.
limit = 35optional1–100Rows per page, up to 100.
include_sponsored = falseoptionalAlso return leboncoin's paid 'À la une' placements, apart, under sponsored[].
include_pii = falseoptionalReturn private sellers' display names, exact coordinates and unmasked descriptions.
max_rotations = 3optional1–5Upstream attempts on fresh exits before giving up.
Try in playground →
post/leboncoin/v1/listing1 credit

The full leboncoin ad by id or URL, in any category: title, price (free, placeholder and price-drop labelled), description, all images, status, condition, shipping, every published attribute with its French label, publication, re-publication and expiry dates, location, vehicle or property details, paid options, and the seller — a pro's company, SIREN and shop; a private seller's name withheld.

ParameterAllowed / rangeDescription
ad_idrequiredThe leboncoin ad id (the digits at the end of an ad URL) or the full URL.
include_pii = falseoptionalReturn private sellers' display names, exact coordinates and unmasked descriptions.
max_rotations = 3optional1–5Upstream attempts on fresh exits before giving up.
Try in playground →
post/leboncoin/v1/categories2 credits

leboncoin's category tree (ids, names, parents, and which shortcut categories map to another) and its regions with their departments — the ids the search actions accept.

ParameterAllowed / rangeDescription
max_rotations = 3optional1–5Upstream attempts on fresh exits before giving up.
Try in playground →