Public resale listing monitoring
Use Wallapop endpoints to turn public resale listing monitoring into repeatable API requests with documented inputs and JSON responses.
Research Wallapop's public resale listings as structured JSON — discover categories and filter metadata, resolve brand or model choices, search listings with caller-supplied coordinates, and look up public item-page details.
Discover Wallapop categories and search filters, query public listings, and retrieve public item details from an item URL.
Endpoint families
5
Documented params
28
Examples
5
Live catalog snapshot
Active endpoints
5
Methods
GET
Required params
11
Schema refs
5
{
"platform": "Wallapop",
"endpoint": "wallapop-search",
"method": "GET",
"path": "/wallapop/search",
"auth": "apiKey"
}Use cases
Discover Wallapop categories and search filters, query public listings, and retrieve public item details from an item URL.
Use Wallapop endpoints to turn public resale listing monitoring into repeatable API requests with documented inputs and JSON responses.
Use Wallapop endpoints to turn category and filter discovery into repeatable API requests with documented inputs and JSON responses.
Use Wallapop endpoints to turn location-aware marketplace research into repeatable API requests with documented inputs and JSON responses.
Use Wallapop endpoints to turn public listing detail lookup into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Wallapop endpoint catalog — 5 endpoints, 28 documented request parameters, and 5 published response schemas — the same catalog Docs and Playground run against.
5 documented Wallapop endpoints, grouped into 5 request families — Categories, Filter Options and Filters, plus 2 more.
28 request parameters are documented across those Wallapop endpoints, 11 of them required — the full input contract is public before you write any integration code.
5 of the 5 Wallapop endpoints ship a recorded example response, and 5 carry a documented response schema — you can code against the real JSON before the first request.
Wallapop endpoints document their error responses (400, 404, 429, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
5 hosted MCP tools back the Wallapop endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
/wallapop/categories
/wallapop/filter-options
/wallapop/filters
/wallapop/item
/wallapop/search
Endpoint catalog
/wallapop/categoriesReturns the complete live search taxonomy as a flat parent-linked list, including all descendant IDs used by /wallapop/search. Only IDs from this search taxonomy are accepted; legacy navigation-only IDs are excluded. Re-fetch periodically because the upstream taxonomy changes.
Response notes
The live snapshot on 2026-10-25 contained 997 categories across 18 roots and five levels. `parent_id=0` identifies a root. For any non-root `category_id`, `/wallapop/search` keeps the root in Wallapop's `category_id` parameter and sends the selected descendant in `subcategory_ids`.
MCP tool wallapop_categories
/wallapop/filtersReturns Wallapop's live search filter schema for a query and optional category. Each filter includes its current type, the upstream search-enabled flag when provided, accepted parameter names, inline option values or slider bounds, and a category-scoped /wallapop/filter-options link for remote value lists.
MCP tool wallapop_filters
/wallapop/filter-optionsReturns one page from a remote option list advertised by /wallapop/filters. Use its exact filter_id and category_id. brand/model lists use a root category ID; category-specific lists use the selected category ID. Model discovery requires brand. Multi-select options such as size map to the live search parameter fashion_size. q and sort provide listing context; options_query narrows the option list. Follow next_cursor while repeating the same context; an empty terminal page has no next_cursor. Option IDs are accepted by /wallapop/search's filter parameter.
MCP tool wallapop_filter_options
/wallapop/searchReturns 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.
Response notes
`items` contain public listing-card fields only: listing ID/title, price/currency, images, category taxonomy, coarse location, shipping state, and a locale-specific item URL where available. Seller IDs/names, descriptions, exact coordinates, postal codes, favorites, and upstream tracking fields are omitted. Phone/email patterns in titles are redacted; if a public slug itself contains contact text, the slug and URL are omitted. `next_cursor` is omitted after the last page.
MCP tool wallapop_search
/wallapop/itemReturns 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).
MCP tool wallapop_item_detail
Related APIs
Marketplaces & Retail
Research new, used, and vintage instruments across Reverb listings, seller shops, and the Price Guide. Keep current asking prices separate from historical sales, and preserve model, finish, year, condition, and currency when comparing gear.
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
How to scrape Wallapop
Crawlora's five Wallapop routes cover public category discovery, search-filter metadata, paged brand/model options, location-aware listing search, and public item detail. A categories pull on 2026-10-27 returned a 997-node search taxonomy under 18 root categories, up to five levels deep, and a filters call for iphone 13 with no category returned only six filters, so the richest schemas appear once a category is chosen. Read categories and filters first, use returned filter IDs and options, then pass caller-provided coordinates and an opaque cursor to search. Follow an item's public URL from search for detail lookup; upstream blocks can still produce a typed unavailable response. Seller contact, favorites, messaging, transactions, and view tracking are not part of this public catalog.
/wallapop/categories on 2026-10-27 held 997 nodes: 18 roots, then 105, 252, 299 and 323 nodes at depths two to five, 859 of them leaves. Four roots are leaves themselves (Cars, Motorbike, Real Estate and Other), so a depth-one id can already be a complete search category. Use the returned ids, not the navigation menu's legacy ones, and re-pull the tree rather than caching it for long.
Call /wallapop/filters with the same query and category you plan to search. With q=iphone 13 and no category it returned a category tree, a location filter (distance_in_km with latitude and longitude), a shipping toggle, a listing-date list (today, lastWeek, lastMonth), a price slider in EUR and a condition list (new, as_good_as_new, good, fair, has_given_it_all). The slider steps by 1 up to 10, by 5 to 100, by 50 to 1,000 and by 500 to 20,000, and the upstream price parameters are named max_sale_price and min_sale_price, unlike the min_price and max_price you send to /wallapop/search.
Use a returned filter_id and category_id with /wallapop/filter-options. Preserve its opaque cursor and option values rather than inventing a brand or model label.
Call /wallapop/search with q and caller-provided latitude/longitude, then apply documented category, price, condition, shipping, distance, time, and dynamic filters. Follow the returned cursor for the next page.
Pass a clean ES, IT, or PT item URL returned by /wallapop/search to /wallapop/item. The endpoint reads only anonymous item-page data and can return a typed upstream error when Wallapop blocks the request.
Wallapop's Help Center says buyers have 48 hours after delivery to inspect an order sent through Wallapop Envíos. These read-only listing routes do not expose transaction state, so a shipping flag alone cannot confirm that a purchase or its protection applies.
A Wallapop result only means something for the place and filters that produced it, so store latitude, longitude, distance_in_km, the category, the filters, the cursor and the retrieval time beside each listing. Treat a typed upstream error as a retry condition, not as an empty result set, so a blocked request is never recorded as zero listings.
FAQ
Use the clean public item URL returned by /wallapop/search with /wallapop/item. The detail route is best-effort because Wallapop can block item-page requests; it omits seller profiles and contact data.
No. The public routes cover listing discovery, search metadata, and public item details. Seller contact, favorites, messages, transactions, and view tracking remain out of scope.
No. Wallapop's Help Center describes a 48-hour inspection window for orders sent through Wallapop Envíos, but these public listing routes do not expose a buyer's transaction or protection status.
Wallapop search is location-aware and requires latitude and longitude. Use coordinates supplied by your workflow; the API does not silently choose a user's location.