Wallapop Scraper - Spanish Classifieds by Keyword
Pricing
from $0.21 / 1,000 listings
Wallapop Scraper - Spanish Classifieds by Keyword
[Limited Launch Offer $0.25/1K] Wallapop scraper: listings by keyword, category, price and condition with description, images, location and date. Deep paging. No login.
Pricing
from $0.21 / 1,000 listings
Rating
0.0
(0)
Developer
Scrape With Me
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Wallapop Scraper — Spanish second-hand listings by keyword, category and price, with no login
Scrape Wallapop listings by keyword or category: title, full description, price, images, city, region and postal code with coordinates, category path, posting and update date, shipping availability, promoted flag and the link. Add as many keywords as you want, filter by price and condition, pick the order (newest first for monitoring) and the point Wallapop should rank around (Madrid, Barcelona, Valencia, Sevilla…). No login, no API key, no browser, and the API reads deep: one search returned more than 10,000 listings.
Why this Wallapop scraper
- Deep paging. 40 listings per request, page after page: 6,000 iPhone listings took about 3 minutes.
- Many keywords in one run, each with the same filters; duplicates across keywords are saved (and charged) once.
- Real filters. Price range, condition (new, as good as new, good, fair, has given it all), category and order (relevance, newest, closest, price low to high or high to low). Only the filters that really change the results are offered.
- Country filter. Wallapop also shows Italian and Portuguese ads near the search point; keep only
ESif you want Spain. - Complete rows. Description, three image sizes, location, category path, dates as ISO timestamps, shipping and promoted flags. Only the opaque seller id is kept: no seller names.
- Cheap and fast. Direct requests, no proxy bill; the scraper switches to a residential proxy by itself only if Wallapop starts refusing requests.
Use cases: Spanish second-hand market data
- Resellers and flippers: find underpriced items by keyword, newest first, every morning on a schedule.
- Price research: what a model of phone, bike or console really sells for, by city and condition.
- Market and category analysis: supply, price level and shipping share of a category.
- Apps and alerts: a fresh listing feed for a bot, a Telegram alert or a comparison site.
- Researchers and journalists: second-hand prices and regional differences in Spain.
Input example
{"keywords": ["iphone 14", "playstation 5"],"orderBy": "newest","minPrice": 100,"maxPrice": 900,"conditions": ["new", "as_good_as_new"],"countries": ["ES"],"latitude": 41.3874,"longitude": 2.1686,"maxResultsPerKeyword": 500}
| Field | What it does |
|---|---|
keywords | One search per line. Leave empty with a categoryId to browse a category |
categoryId | Wallapop category number (17000 bikes, 24200 technology & electronics, 100 cars…); it is the categoryId of any result |
orderBy | most_relevance, newest, closest, price_low_to_high, price_high_to_low |
minPrice / maxPrice | Price range in EUR |
conditions | new, as_good_as_new, good, fair, has_given_it_all |
countries | Keep listings located in these countries (ES, IT, PT); empty = all |
latitude / longitude | The point Wallapop ranks around (default Madrid); it does not exclude other regions |
maxResultsPerKeyword | Listings per keyword (0 = all) |
maxItems | Cap for the whole run |
imageSize, maxImages | Image link size (small, medium, big) and how many links per listing |
proxyConfiguration | Default: none. A residential proxy is used automatically if Wallapop refuses requests |
Output example
{"itemId": "pj94102xo26e","url": "https://es.wallapop.com/item/bicicleta-de-montana-conor-xc-20-1310423561","title": "Bicicleta montaña 10778","description": "Bicicleta de montaña Conor modelo XC 50 en color azul con de …","price": 55.0,"currency": "EUR","categoryId": 17000,"category": "Bicicletas","categoryPath": ["Bicicletas","Bicicletas y triciclos","Bicicletas de carretera"],"city": "Madrid","region": "Comunidad de Madrid","province": "Madrid","postalCode": "28047","countryCode": "ES","latitude": 40.3885875,"longitude": -3.7524626,"createdAt": "2026-10-07T14:52:46Z","modifiedAt": "2026-10-15T16:31:58Z","reserved": false,"shippingAvailable": true,"sellerAllowsShipping": false,"isRefurbished": false,"hasWarranty": false,"isTopProfile": false,"isPromoted": true,"sellerId": "x6qy92xleqjy","imageCount": 2,"images": ["https://cdn.wallapop.com/images/…?pictureSize=W640"],"searchLabel": "bici","source": "Wallapop","scrapedAt": "2026-10-15T17:21:26Z"}
The run's OUTPUT record lists, per keyword, how many listings were saved, how many pages were read and how many ads were skipped as duplicates or because of the country filter; INPUT_STATUS says whether each keyword was found, empty or could not be checked.
Run it on a schedule and connect it to your tools
Schedule: in Apify Console open Schedules → Create, pick this actor with orderBy: newest and run it every
hour or every morning to catch new listings of the products you flip. Each run returns the full, current result set as a new dataset.
Integrations (Actor → Integrations tab, no code):
- Google Sheets — append every run's listings to a sheet.
- Make, Zapier, n8n — start the actor from a scenario/zap/workflow and send an alert for new listings.
- Webhook — get a POST to your endpoint when a run succeeds, then download the dataset.
- Slack / email — notify your team when a scheduled run finishes.
AI agents (MCP) — Claude, ChatGPT, Cursor, VS Code or any MCP client can run it as a tool: add the Apify MCP
server https://mcp.apify.com?actors=kalilfagundes.w/wallapop-scraper (sign in with your Apify account) and ask for the data in
plain language. The agent fills the input from the input schema and reads the dataset back.
API — call it from your code (pip install apify-client / npm i apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("kalilfagundes.w/wallapop-scraper").call(run_input={"keywords": ["iphone 14", "playstation 5"],"orderBy": "newest","countries": ["ES"],"maxResultsPerKeyword": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["city"], item["url"])
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('kalilfagundes.w/wallapop-scraper').call({keywords: ['iphone 14', 'playstation 5'],orderBy: 'newest',countries: ['ES'],maxResultsPerKeyword: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Pricing
Pay per result, platform usage included:
| Event | Price |
|---|---|
| Listing saved | $0.25 per 1,000 listings |
| Run start | $0.002 |
Example: 10,000 listings ≈ $2.50. Apify subscribers get tier discounts automatically. Set maxItems to cap the cost of a run.
FAQ and limits
- Does it need a Wallapop login or API key? No. Wallapop has no public API: this reads the same search service the website uses.
- How many listings can I get? The service pages deep (more than 10,000 for one search in tests). Narrow broad searches by price, condition or category if you want a specific slice.
- Why do I see Italian listings? Wallapop mixes countries around the search point. Set
countries: ["ES"]. - Why can't I filter by distance or posting date? Those filters did not change the results in testing, so they are not
offered. Use
orderBy: newestandlatitude/longitudeinstead. - Seller data: only an anonymous seller id is saved, never names or phone numbers.
- Fair use: use the data in line with Wallapop's terms and the GDPR; keep schedules reasonable.
En español
Este actor extrae anuncios de Wallapop por palabra clave o categoría: título, descripción completa, precio, fotos, ciudad, provincia, código postal, fecha de publicación, envío y enlace. Filtra por precio, estado y orden (los más nuevos primero), añade tantas palabras clave como quieras y programa la ejecución para vigilar nuevos anuncios. Sin iniciar sesión, sin clave de API. Exporta a Excel, CSV o JSON. Solo se guarda un identificador anónimo del vendedor.
Related actors
Feedback
Found a missing field or a keyword that returns nothing? Open an issue on the Actor page and it will be looked at.