Wallapop New Listings Alert (Spain, Italy, Portugal) avatar

Wallapop New Listings Alert (Spain, Italy, Portugal)

Pricing

from $0.03 / 1,000 listing scrapeds

Go to Apify Store
Wallapop New Listings Alert (Spain, Italy, Portugal)

Wallapop New Listings Alert (Spain, Italy, Portugal)

Newest Wallapop listings for a keyword or category near a city in Spain, Italy or Portugal, one flat row each: title, price in EUR, previous price, location, shipping, photos, item URL - and whether each listing is new, cheaper or dearer than on the last run.

Pricing

from $0.03 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

20 days ago

Last modified

Share

Watch Wallapop for new second-hand listings. Give it a keyword or a category, a city (or exact coordinates) and optionally a radius and a price band; it returns the newest listings first, one flat row each, and tells you which ones are new since your last run and which ones changed price. Schedule it hourly and turn on Only new and re-priced listings to get an alert feed that costs nothing for listings you have already seen.

Input

FieldNotes
keywordWhat you would type into Wallapop's search box. Required unless you give categoryId.
cityMadrid (default), Barcelona, Valencia, Sevilla, Málaga, Bilbao, Zaragoza, Milano, Roma, Torino, Napoli, Lisboa, Porto.
latitude, longitudeSearch from exactly here instead of a city. Give both, as text ("40.4168"), not as JSON numbers.
distanceKmOnly listings within this radius. See Italy and Portugal below.
categoryIdOne Wallapop category id (e.g. 24200 Technology & electronics). Every row carries its category_id.
minPrice, maxPriceAsking-price band in whole euros.
maxItemsStop after this many rows (default 100). Wallapop serves 40 per request.
changesOnlyReturn and charge only listings that are new or re-priced since the last run of the same search.

Italy and Portugal

Without a radius, Wallapop's newest-first search ignores which country the location is in: on 2026-10-05, a search from Milan and one from Lisbon both returned 40 of 40 Spanish listings. With distance_in_km=50 the same searches returned only Italian (20) and only Portuguese (5) listings. So the Italian and Portuguese city presets use a 50 km radius unless you set one, and if you pass raw coordinates outside Spain, set distanceKm yourself. A Spanish location with no radius gets Wallapop's default, country-wide feed.

Output

FieldNotes
changenew, price_drop, price_rise or unchanged, compared with the previous run of the same search.
item_id, url, web_slugurl is https://es.wallapop.com/item/<web_slug>.
title, descriptionAs the seller wrote them.
price, currencyAsking price as Wallapop sends it (a decimal, EUR).
previous_price, discount_percentageOnly when the seller cut the price on Wallapop itself; null otherwise.
category_id, category_name, category_pathWallapop's own id and its taxonomy, deepest name and full path.
image_urls, thumbnail_urlPhoto URLs (large) and the first small one. Nothing is downloaded.
reservedWallapop's "reserved" flag.
latitude, longitude, postal_code, city, region, region2, country_codeThe approximate location Wallapop publishes for the listing.
shippable, seller_allows_shippingWhether the item can ship with Wallapop, and whether this seller offers it.
bump_type, bumpednone, or zone / city / country for a listing the seller paid to promote.
is_refurbished, is_top_profile, has_warrantyWallapop's own flags.
seller_idWallapop's opaque user id. No seller name or rating - the search does not return them.
created_at, modified_atUnix milliseconds, plus created_at_iso / modified_at_iso in UTC.
queryThe keyword this row came from.

Honest nulls

A field Wallapop did not send is null, never 0 or "". previous_price is null for a listing that was never discounted - a 0 would read as a price cut to nothing. Flags (reserved, shippable, ...) are null when the block was missing, not false.

Paid promotions ("bumps") appear in a newest-first search whatever their age. In an unfiltered search nearly every row is one, which is why this actor needs a keyword or a category. Filter on bumped if you only want organic listings.

Personal data

Sellers often write a phone number or a first name into the description. The description is carried as Wallapop publishes it, because it is the listing, but nothing is extracted from it. You are responsible for handling it under the GDPR if you store it.

Change tracking

Each search (keyword, location, radius, category and price band) has its own memory, kept in a named key-value store on your Apify account (wallapop-listings-watch), so it is never visible to anyone else. The first run of a search has nothing to compare against: it labels every listing new. From the second run on, a listing is new if the last run did not see it, price_drop / price_rise if its price moved, and unchanged otherwise.

With changesOnly, unchanged listings are neither returned nor charged, and the run stops at the first page on which nothing has changed - the feed is newest first, so the rest of it is what you already have.

What a price change can be seen on. Wallapop's newest-first order is by the date a listing was created, not by when it was edited (checked on four probed pages, 2026-10-05). A run reads only the newest maxItems listings, so a price cut is reported while the listing is still inside that window - an old listing re-priced weeks later is not re-read and will not show up as price_drop. This is a new-listing alert first; price moves are a bonus on recent listings.

Pricing

Pay per event:

  • $0.002 per run (actor-start), charged only after your input is validated - a run that fails on bad input costs nothing.
  • $0.000028 per listing row written (item-scraped), i.e. $0.028 per 1,000 listings. With changesOnly, unchanged listings are not charged.

How it fetches

It calls the same JSON search API Wallapop's website uses (api.wallapop.com/api/v3/search), newest first, 40 rows per request, with the browser's own headers. No account and no login. Apify datacenter proxy is the default; it was answered with HTTP 200 on 2026-10-05.