Search Leboncoin ads
TL;DR
About
Each call reads one leboncoin results page for a keyword, a list of cities, or both, and returns its ads with price_eur, zipcode, seller_type (private or pro) and published_at. Say you are after a used road bike in Lyon or Villeurbanne. Search "vélo route" with both cities in locations (there is no radius setting, so you name the towns yourself) and read pages 1 to 3, one call each. Keep category_name "Vélos", since a bike keyword also pulls in Sport & Plein air listings, then drop pro sellers and anything above 600 euros. Cards carry no description, so send the dozen url values left to get_ad for descriptions and frame sizes, and pass its seller_profile_url to get_seller_profile to see how long each seller has been on the site. If leboncoin serves a consent wall or a bot check instead of results, the run stops with an error saying so, not an empty list you could mistake for zero matches.
Input
page optionalPage index, 35 ads per page (capped at max_pages=100). A page past the last one fails with the page count.
Default: 1sort optionalResult order. newest orders on listed_at. Promoted ads are placed among the results whatever the order.
Default: "relevance"text optionalFree-text query, e.g. 'iphone 13' or 'table en chêne'. The aliases query, keyword and keywords are accepted for the same thing; pass whichever you have.
query optionalAlias for text.
keyword optionalAlias for text.
category optionalLeboncoin category id, as category_id in the results (e.g. '55' for bikes, '17' for phones). Omit to search every category.
keywords optionalAlias for text.
locations optionalCity name, a comma-separated list of cities, or an array of city names, e.g. 'Paris', 'Paris,Lyon' or ['Paris','Lyon']. An empty array counts as no location filter.
price_max optionalHighest price in euros, inclusive.
price_min optionalLowest price in euros, inclusive.
owner_type optionalOnly ads from private sellers, or only from professional sellers. Omit for both.
Output
ads requiredcount requiredtotal requiredNumber of ads Leboncoin reports for this search.
max_pages requiredExample output
Shape only: placeholder values generated from the output schema, not a real run.
{
"ads": [
{
"id": "abc123",
"url": "https://example.com/item/123",
"city": "…",
"title": "Example",
"zipcode": "…",
"currency": "…",
"promoted": true,
"listed_at": "2026-01-15T09:30:00Z",
"price_eur": 3.5,
"thumb_url": "https://example.com/item/123",
"category_id": "abc123",
"image_count": 3,
"seller_type": "…",
"published_at": "2026-01-15T09:30:00Z",
"category_name": "…"
}
],
"count": 3,
"total": 3,
"max_pages": 3
}