Endpoint Playground
Returns one page of public Wallapop listing cards with title, price, currency, images, coarse location, taxonomy, shipping state, and a public item URL. q is a free-text search. latitude and longitude are required caller-provided coordinates because Wallapop otherwise infers location from the server's network location. category_id accepts any ID returned by /wallapop/categories, including descendants. sort is one of closest, most_relevance, newest, price_low_to_high, or price_high_to_low. When category_id is supplied, discover condition values from /wallapop/filters; categories can add values beyond the base set. Use /wallapop/filter-options for remote filter values. Pass next_cursor back as cursor by itself to fetch the next page.
curl 'https://api.crawlora.net/api/v1/wallapop/search?q=iphone&latitude=40.4168&longitude=-3.7038&sort=closest&is_shippable=true&time_filter=today' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| q | string | Yes | iphone | Free-text listing search, 2 to 200 characters |
| latitude | number | Yes | 40.4168 | Caller-provided search latitude, -90 through 90 |
| longitude | number | Yes | -3.7038 | Caller-provided search longitude, -180 through 180 |
| category_id | integer | No | Any live search taxonomy ID from /wallapop/categories | |
| sort | string | No | closest | Wallapop sort order |
| min_price | number | No | Minimum sale price | |
| max_price | number | No | Maximum sale price | |
| condition | string | No | Repeatable or comma-separated condition values. With category_id, use the current values from /wallapop/filters; without category_id, base values are new, as_good_as_new, good, fair, and has_given_it_all. | |
| is_shippable | string | No | true | Pass true to limit to shipping-capable listings; omit to include all. false is rejected because Wallapop ignores it. |
| time_filter | string | No | today | Listing date window |
| distance_in_km | integer | No | Maximum distance from the supplied coordinates, 0 through 1000 km | |
| filter | array | No | Repeatable category-specific key:value pair discovered from /wallapop/filters, e.g. brand:BMW, color:Black, has_warranty:true, storage_capacity:128gb, item_language:english, or fashion_size:3,4. For remote values use IDs returned by /wallapop/filter-options. | |
| cursor | string | No | Opaque next_cursor returned by a previous response. Use it alone, without initial search parameters. |
{
"code": 200,
"msg": "OK",
"data": {
"query": "iphone",
"category_id": 24200,
"sort": "most_relevance",
"country_code": "ES",
"count": 1,
"items": [
{
"id": "listing-123",
"title": "Synthetic public listing",
"url": "https://es.wallapop.com/item/synthetic-listing-123",
"category_id": 24200,
"price": 120,
"currency": "EUR",
"images": [
"https://images.example.test/item.jpg"
],
"location": {
"city": "Madrid",
"region": "Madrid",
"country_code": "ES"
},
"shipping": {
"item_is_shippable": true,
"user_allows_shipping": true
}
}
],
"next_cursor": "eyJ2IjoxLCJuZXh0X3BhZ2UiOiJ..."
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.