Wallapop Scraper — Any Keyword or Category avatar

Wallapop Scraper — Any Keyword or Category

Pricing

from $1.00 / 1,000 listings

Go to Apify Store
Wallapop Scraper — Any Keyword or Category

Wallapop Scraper — Any Keyword or Category

Searches Wallapop for any keyword or category across Spain and returns price, condition, distance, shipping and seller from each ad. A phone mode adds a battery-health floor, accessory filtering and a shop reference price when the search is for phones.

Pricing

from $1.00 / 1,000 listings

Rating

0.0

(0)

Developer

reventadata

reventadata

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

Unofficial. This Actor is not affiliated with, authorised by, endorsed by, or in any way officially connected to Wallapop. "Wallapop" is a trademark of its respective owner and is used here only to describe what this tool reads. It reads the same public pages a browser does.

Wallapop Scraper searches Wallapop, Spain's largest second-hand marketplace, for any keyword or category. Bikes, furniture, tools, guitars, phones. It returns each listing with price, condition, distance, shipping, seller and the advert's own text as separate columns, and it drops anything the seller describes as broken or sold for parts.

It calls Wallapop's own JSON search endpoint, so the rows are the data the website shows rather than a scrape of the HTML around it.

Wallapop searches around a coordinate, not a country. One search from Madrid never sees a Bilbao listing that does not ship. This Actor sweeps eight city origins and merges the results, so a country-wide search is one run instead of eight.

Phone mode

The Actor started life as a used-phone finder and that vocabulary is still in it, now behind switches that are off by default.

Turn on excludeAccessories and it drops cases, screen protectors, spare parts and repair-shop adverts, while keeping a phone advertised "+ funda", because there the case is thrown in rather than being the product. Set minBattery and it reads the battery health out of the seller's own Spanish text, which Wallapop offers no filter for at all. Turn on benchmarkAgainstShop and it makes one extra request per keyword to Cash Converters, a Spanish second-hand chain that grades its own stock and prices it the same nationwide, then adds what the same phone costs there and the gap to it. That lookup only adds columns. It never removes a listing, and if it fails your Wallapop rows are unaffected and the run says so.

Leave those three off for anything that is not a phone. The accessory words are ordinary nouns elsewhere: outside a phone search a pantalla is a television, a funda is a duvet cover and a carcasa is a PC case, and the filter would throw all three away.

How to scrape Wallapop

  1. Enter one or more search keywords, for example bicicleta montaña or iphone 13 mini.
  2. Set near latitude/longitude and a radius for the local pass.
  3. Set minimum price above zero. This matters more than it sounds, see Tips.
  4. Set a maximum price.
  5. Leave proxy on Apify Proxy. Optional, but it spreads out bigger sweeps.
  6. Click Start and read the Matches table.

Input

FieldTypeWhat it does
searchQueriesarrayOne search per keyword, repeated around every origin.
citiesarrayOrigins for pass 2. Search origins, not filters — more means wider coverage.
searchNearbybooleanPass 1: search close to home and keep anything inside the radius.
nearLatitude / nearLongitudenumberCentre of the local search. Defaults to Madrid.
radiusKmintegerEnforced by Wallapop, and re-checked here to fill in distanceKm.
searchAllSpainWithShippingbooleanPass 2: sweep the rest of the country from 12 city origins.
requireShippingbooleanWhether pass 2 keeps only sellers who post. On by default. Off shows every distant listing; sellerAllowsShipping still tells you which is which.
minPrice / maxPriceintegerPrice band in EUR.
minBatteryintegerDrops listings below this stated battery health.
allowUnknownBatterybooleanKeep listings that never mention battery health.
excludeDamagedbooleanDrops cracked screens, dead units, parts sales.
excludeAccessoriesbooleanDrops cases, protectors, spare parts, repair adverts.
conditionsarrayWallapop's own condition filter, server-side. One extra request per condition.
benchmarkAgainstShopbooleanAdd a shop reference price from Cash Converters, a chain that grades its own stock and prices identically nationwide. Off by default; one extra request per keyword.
requireKeywordMatchbooleanDrops listings whose title lacks a word of your query. Leave on.
maxItemsintegerHard cap on rows for the whole run.
orderBystringSort order. Leave on relevance — newest narrows the feed sharply.
proxyConfigurationobjectOptional. Leave as Apify Proxy.
{
"searchQueries": ["iphone 13 mini"],
"searchNearby": true,
"nearLatitude": 40.4168,
"nearLongitude": -3.7038,
"radiusKm": 100,
"searchAllSpainWithShipping": true,
"requireShipping": true,
"minPrice": 90,
"maxPrice": 190,
"minBattery": 85,
"conditions": ["as_good_as_new"],
"excludeDamaged": true,
"proxyConfiguration": { "useApifyProxy": true }
}

Output

{
"stage": "shipping",
"batteryHealth": 87,
"batteryReplaced": false,
"shopPriceFrom": 283.95,
"percentOfShopPrice": 60,
"savingVsShop": 113.95,
"screenReplaced": false,
"distanceKm": 308.2,
"price": 170,
"currency": "EUR",
"title": "iPhone 13 mini 128GB negro",
"description": "- Capacidad batería al 87%\n- Color negro (medianoche)\n…",
"city": "Coslada",
"region": "Comunidad de Madrid",
"postalCode": "28820",
"reserved": false,
"sellerAllowsShipping": true,
"isRefurbished": false,
"hasWarranty": false,
"createdAt": 1755600000000,
"url": "https://es.wallapop.com/item/iphone-13-mini-128gb-negro-1292117598",
"imageUrl": "https://cdn.wallapop.com/images/…",
"matchedKeyword": "iphone 13 mini"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data fields

FieldMeaning
stageWhich pass found it: nearby or shipping.
batteryHealthPercentage parsed from the seller's text. null if never stated.
batteryReplacedThe seller says the battery is non-original or was swapped. Read it next to batteryHealth: an aftermarket battery often reports 100% while performing worse than an original at 88%. false means not stated, not confirmed original.
screenReplacedThe seller says the screen is new or was replaced. "Pantalla nueva" is ambiguous between a pristine screen and a swapped one, so this is a prompt to read the advert, not a verdict.
shopPriceFrom / shopPriceMedian / shopCheapestGrade / shopUnitsSeenPhone mode only. What the same phone costs at Cash Converters right now. A reference, never a filter.
savingVsShop / percentOfShopPriceThe gap to that shop price. A listing far below the trade price is what you are hunting for — and also what a scam looks like. Read it with batteryReplaced and screenReplaced, not on its own.
distanceKmDistance from your near-point, computed here.
price / currencyAsking price.
title / descriptionThe seller's own words, unmodified.
city / region / postalCodeApproximate location Wallapop publishes.
reservedTrue if the seller already marked it reserved for someone.
sellerAllowsShippingWhether this seller posts. Wallapop's item_is_shippable is about the category, not the seller.
isRefurbished / hasWarrantyWallapop's own flags.
createdAtListing creation timestamp, milliseconds.
url / imageUrlDirect links.
matchedKeywordWhich of your keywords found it.

How much does it cost to scrape Wallapop?

Pricing is pay-per-event: a charge when the run starts, and a charge per result written to the dataset. You are billed for what you get, not for time.

For scale, the underlying compute of the default sweep (12 origins, one keyword) measures around $0.008, and a 20-keyword sweep across all 12 cities — 240 requests, five minutes — measures $0.021.

Two things multiply that: each extra keyword, and each entry in conditions — Wallapop takes one condition per request, so selecting three conditions triples the requests. The run log prints the planned feed count before each pass.

Tips

  • Always set minPrice above zero. Wallapop's cheapest results are accessories and repair services. This single setting removes most of the noise before the filters even run.
  • cities are search origins, not location filters. Results still come from all over Spain. One feed is capped at 40 items, so adding origins is how you widen coverage.
  • Use conditions: ["as_good_as_new"] when the item has to look new. Wallapop applies it server-side, so the feed's 40 slots are spent on candidates instead of being filtered away afterwards.
  • Keep the query short. Every word of it must appear in the title, so iphone 13 mini 128gb drops listings that only mention the capacity in the description. Search iphone 13 mini and let the other filters do the narrowing.
  • Turn on allowUnknownBattery if you get too few results. Most sellers never state battery health, and those listings are dropped by default when a floor is set.
  • Schedule it daily and sort the dataset by createdAt to see only what is new.

FAQ and limitations

Why does it drop listings Wallapop returned? Wallapop's keyword search is fuzzy — a search for iphone 13 mini also returns iPhone 8s, iPhone 11s and multi-model shop adverts. requireKeywordMatch keeps only titles containing every word of your query.

Is the battery health reliable? No — it is whatever the seller typed. Treat it as a shortlist, not a fact. Always ask for a photo of Settings → Battery → Battery Health before paying.

Is a proxy required? No. Wallapop's endpoint rejects any request missing the X-DeviceOS header, which this Actor always sends; the IP itself is not the problem. A proxy is still useful for spreading out a large sweep.

Does it paginate? No. The endpoint caps a feed at 40 items and rejects an offset parameter. Coverage comes from sweeping multiple origins and keywords instead.

Legality. This Actor reads only public listing data that Wallapop serves to any visitor. It stores no personal data beyond the seller-supplied text shown on a public advert. You are responsible for using the output in line with Wallapop's Terms of Service and applicable law.

More second-hand marketplace scrapers

ActorWhat it scrapes
Wallapop + Vinted + Milanuncios Scraper — SpainWallapop, Vinted and Milanuncios in Spain — one keyword, one merged table
Cash Converters Spain ScraperCash Converters Spain — graded second-hand stock with price when new
Milanuncios ScraperMilanuncios — 17 categories, condition, storage and battery-health filters
Gumtree UK ScraperGumtree UK — any category, vehicle and phone details parsed from the ad's own text
OLX Romania ScraperOLX Romania (olx.ro) — any keyword, no proxy required
OLX Brazil ScraperOLX Brazil (olx.com.br) — any category, structured attributes from the site's own detail chips
Vinted Spain ScraperVinted Spain (vinted.es) — any keyword or category, no proxy required
Todocolección ScraperTodocolección — collectibles, antiques and auctions, fixed-price and bidding modelled apart
Back Market Spain ScraperBack Market Spain — refurbished phones, laptops and tablets, priced against new
eBay Spain ScrapereBay Spain (ebay.es) — active listings with seller type