Wallapop Scraper — Listings, Prices & Locations (ES, IT, PT) avatar

Wallapop Scraper — Listings, Prices & Locations (ES, IT, PT)

Pricing

$1.50 / 1,000 listings

Go to Apify Store
Wallapop Scraper — Listings, Prices & Locations (ES, IT, PT)

Wallapop Scraper — Listings, Prices & Locations (ES, IT, PT)

Scrape Wallapop second-hand listings in Spain, Italy and Portugal by keyword and city: title, price, description, city, postal code, coordinates, category, photos, shipping, reserved and refurbished flags, posted date and link. Price, distance and sort filters. $1.50 per 1,000 listings.

Pricing

$1.50 / 1,000 listings

Rating

0.0

(0)

Developer

Technical Dost Solutions

Technical Dost Solutions

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Wallapop Scraper collects second-hand listings from Wallapop, the largest resale marketplace in Spain, also used in Italy and Portugal, without an account or login. Search by keyword around any city, filter by price and distance, sort by newest, price or distance, and get each listing's title, price, description, city, postal code, coordinates, full category path, photos, shipping availability, reserved and refurbished flags, top-seller badge, posted and updated dates and link.

What you get

  • Search any keyword around any city or postal code in Spain, Italy or Portugal, or exact coordinates.
  • Filters: minimum and maximum price, maximum distance in km.
  • Sort by relevance, newest, lowest or highest price, or closest.
  • Full listing data: price, currency, description, city, region, postal code, coordinates, category path, all photos.
  • Flags: shipping available, reserved, refurbished, warranty, top-profile seller and promoted (bumped).
  • Thousands of listings per search, duplicates removed; $1.50 per 1,000 listings.

How to use Wallapop Scraper

  1. Enter Search terms such as iphone 15, bicicleta or ps5.
  2. Set Location (for example Madrid, Barcelona, Milano or Lisboa) and, optionally, a price range and maximum distance.
  3. Choose Sort by and how many listings per search, then run the Actor.
  4. Export to Excel, CSV or JSON, or schedule it hourly with Newest to catch new deals.

Input example

{
"searchQueries": [
"iphone 15"
],
"location": "Madrid",
"maxItemsPerSearch": 100,
"sortBy": "newest"
}

All fields are described in the Input tab.

Output example

{
"id": "e65qw7yyom6o",
"title": "iPhone 15 Pro Azul",
"price": 500,
"currency": "EUR",
"description": "iPhone 15 Pro en color azul con acabado mate…",
"city": "Manresa",
"region": "Cataluña",
"province": "Barcelona",
"postalCode": "08242",
"countryCode": "ES",
"latitude": 41.7333,
"longitude": 1.8073,
"category": "Technology & electronics > Phones: mobiles & smartwatches > Smartphones",
"categoryId": 24200,
"shippingAvailable": true,
"reserved": false,
"isRefurbished": false,
"hasWarranty": false,
"isTopProfileSeller": false,
"isBumped": false,
"imageUrls": [
"https://cdn.wallapop.com/images/10420/example.jpg?pictureSize=W800"
],
"sellerId": "qzm44wn4oozv",
"createdAt": "2026-10-22T17:24:13.343Z",
"modifiedAt": "2026-10-22T17:24:13.343Z",
"url": "https://es.wallapop.com/item/iphone-15-pro-azul-1316000000",
"searchKeyword": "iphone 15",
"scrapedAt": "2026-10-22T18:00:00.000Z"
}

Output fields

FieldDescription
idWallapop listing ID.
titleListing title.
priceAsking price.
currencyCurrency (EUR).
descriptionSeller's description.
cityCity.
regionRegion.
provinceProvince.
postalCodePostal code.
countryCodeES, IT or PT.
latitudeApproximate latitude.
longitudeApproximate longitude.
categoryCategory path.
categoryIdTop category ID.
shippingAvailableSeller ships the item.
reservedMarked as reserved.
isRefurbishedRefurbished item.
hasWarrantySold with warranty.
isTopProfileSellerSeller has a top profile.
isBumpedPromoted listing.
imageUrlsPhoto URLs.
sellerIdPublic seller ID.
createdAtPosted, ISO 8601.
modifiedAtLast updated, ISO 8601.
urlListing URL.
searchKeywordSearch term that found it.
scrapedAtWhen the row was scraped.

Export results as JSON, CSV, Excel, XML or HTML, or read them with the API.

Use cases

  • Resellers and flippers: catch underpriced items the moment they are posted.
  • Price research: real second-hand prices for phones, consoles, bikes, furniture or cars in Spain and Italy.
  • Recommerce and refurbishers: track supply and prices of used devices by city.
  • Brands: monitor resale of your products and spot counterfeits.
  • Market studies of the Spanish second-hand economy by category and region.

How much does Wallapop Scraper cost?

This Actor uses pay-per-event pricing: $0.0015 per listing ($1.5 per 1,000). Platform usage is included. Searches with no results cost nothing.

Set Maximum cost per run in the run options to cap your spend; the Actor stops when the limit is reached.

Use Wallapop Scraper with AI agents (MCP)

Give Claude, ChatGPT, Cursor or any MCP client this Actor as a tool through the hosted Apify MCP server:

$claude mcp add --transport http apify "https://mcp.apify.com/?tools=technicaldost/wallapop-scraper-listings-prices" --header "Authorization: Bearer YOUR_APIFY_TOKEN"

Or in a JSON MCP config:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com/?tools=technicaldost/wallapop-scraper-listings-prices",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}

The tool is named technicaldost--wallapop-scraper-listings-prices. Ask your agent, for example, to "run Wallapop Scraper with {"searchQueries": ["iphone 15"], "location": "Madrid", "maxItemsPerSearch": 100, "sortBy": "newest"}".

Run Wallapop Scraper via API

curl -X POST "https://api.apify.com/v2/acts/technicaldost~wallapop-scraper-listings-prices/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchQueries": ["iphone 15"], "location": "Madrid", "maxItemsPerSearch": 100, "sortBy": "newest"}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("technicaldost/wallapop-scraper-listings-prices").call(run_input={"searchQueries": ["iphone 15"], "location": "Madrid", "maxItemsPerSearch": 100, "sortBy": "newest"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('technicaldost/wallapop-scraper-listings-prices').call({"searchQueries": ["iphone 15"], "location": "Madrid", "maxItemsPerSearch": 100, "sortBy": "newest"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Integrations

Schedule runs (daily, hourly) in Apify Console and send results to Google Sheets, Slack, Make, Zapier, n8n, Airbyte or your own webhook.

FAQ

Which countries are covered?

Spain, Italy and Portugal: the countries where Wallapop operates. Results come from around the location you set.

How do I get only new listings?

Set Sort by to Newest and schedule the Actor every hour or every few minutes.

Does it return seller names or phone numbers?

No. It returns the public seller ID only, and no personal contact data.

Why are some results not in exact price order?

Sorting is done by Wallapop itself, and promoted listings can appear first. Price sorting works best in Spain; for exact price ranges, set Minimum and Maximum price, then sort the dataset.

Can I filter by condition or shipping?

Not as a search filter. Each listing has shippingAvailable, reserved, refurbished and warranty fields you can filter on in the dataset.

How many listings can I get?

Up to 5,000 per search term. Add more search terms or locations for more.

The Actor collects publicly available information only and does not log in or bypass access controls. Use the data in line with the website's terms and the laws that apply to you, especially when processing personal data.