Wallapop API endpoint
Returns public listing details parsed from the anonymous server-rendered item page: description, price, taxonomy, condition, images, coarse location, shipping, category attributes, hashtags, and related-search links. Pass a clean https item URL returned by /wallapop/search, using es.wallapop.com, it.wallapop.com, or pt.wallapop.com. Seller/profile/contact data, exact coordinates, postal codes, favorites, and view-tracking state are omitted. The upstream may rate-limit or block requests; this endpoint retries automatically (up to three attempts).
/wallapop/itemBilling weight: 5 credits.
Fetches one anonymous public Wallapop item page and returns its server-rendered listing details. Supply a clean HTTPS item URL returned by /wallapop/search on es.wallapop.com, it.wallapop.com, or pt.wallapop.com. Wallapop blocks a meaningful share of page requests; the endpoint retries automatically (up to three attempts), which improves the success rate but does not guarantee it.
url (required): a clean HTTPS item URL of the form https://es.wallapop.com/item/{slug}, https://it.wallapop.com/item/{slug}, or https://pt.wallapop.com/item/{slug}. Do not include a query or fragment.The response contains the public item ID and slug, title, description, price/currency, category taxonomy, condition, images, coarse city/region/country, shipping flags, safe category attributes and characteristics, item hashtags when present, related-search links, and fetch time. Related-search links come from the page's cross-selling bubbles and are not item hashtags.
Seller IDs and profile fields, contact data, exact coordinates, postal codes, favorite/view counts, and view-tracking state are omitted. Email and phone patterns in public text are redacted.
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| url | string | Yes | Clean https public item URL from /wallapop/search on es.wallapop.com, it.wallapop.com, or pt.wallapop.com | https%3A%2F%2Fes.wallapop.com%2Fitem%2Fchaqueta-1183989904 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/wallapop/item?url=https%253A%252F%252Fes.wallapop.com%252Fitem%252Fchaqueta-1183989904" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "opaque-item-id",
"slug": "chaqueta-1183989904",
"url": "https://es.wallapop.com/item/chaqueta-1183989904",
"title": "Chaqueta",
"description": "Chaqueta en buen estado",
"price": 10,
"currency": "EUR",
"category_id": 12465,
"taxonomy": [
{
"id": 12465,
"name": "Moda y accesorios"
},
{
"id": 9713,
"name": "Chaquetas"
}
],
"condition": {
"value": "good",
"title": "Estado",
"text": "Buen estado"
},
"images": [
"https://images.example.test/item.jpg"
],
"location": {
"city": "Sevilla",
"country_code": "ES"
},
"shipping": {
"item_is_shippable": true,
"user_allows_shipping": true
},
"attributes": [],
"characteristics": [],
"hashtags": [],
"related_searches": [],
"fetched_at": "2026-10-26T00:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/wallapop.itemDetailResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | wallapop.ItemDetailResponse | No | ||||
| data.attributes | array | No | ||||
| data.attributes[].key | string | No | ||||
| data.attributes[].text | string | No | ||||
| data.attributes[].title | string | No | ||||
| data.attributes[].value | string | No | ||||
| data.category_id | integer | No | ||||
| data.characteristics | array | No | ||||
| data.characteristics[].attribute | string | No | ||||
| data.characteristics[].value | string | No | ||||
| data.condition | wallapop.ItemDetailCondition | No | ||||
| data.condition.text | string | No | ||||
| data.condition.title | string | No | ||||
| data.condition.value | string | No | ||||
| data.currency | string | No | ||||
| data.description | string | No | ||||
| data.fetched_at | string | No | ||||
| data.hashtags | array | No | ||||
| data.id | string | No | ||||
| data.images | array | No | ||||
| data.location | wallapop.ListingLocation | No | ||||
| data.location.city | string | No | ||||
| data.location.country_code | string | No | ||||
| data.location.region | string | No | ||||
| data.location.region2 | string | No | ||||
| data.price | number | No | ||||
| data.related_searches | array | No | ||||
| data.related_searches[].title | string | No | ||||
| data.related_searches[].url | string | No | ||||
| data.shipping | wallapop.ListingShipping | No | ||||
| data.shipping.item_is_shippable | boolean | No | ||||
| data.shipping.user_allows_shipping | boolean | No | ||||
| data.slug | string | No | ||||
| data.taxonomy | array | No | ||||
| data.taxonomy[].id | integer | No | ||||
| data.taxonomy[].name | string | No | ||||
| data.title | string | No | ||||
| data.url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/wallapop/item?url=https%253A%252F%252Fes.wallapop.com%252Fitem%252Fchaqueta-1183989904" \
-H "x-api-key: $CRAWLORA_API_KEY"