Milanuncios Scraper
Pricing
from $0.90 / 1,000 listings
Milanuncios Scraper
Scrape Milanuncios.com classified listings — cars, real estate, jobs, electronics, phones and more. Filter by keyword, category, price, seller type, and shipping. Export full listing, seller, and shop data as JSON, CSV, or Excel.
Pricing
from $0.90 / 1,000 listings
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share
Milanuncios Scraper
Scrape classified listings from Milanuncios.com — Spain's largest second-hand marketplace for cars, real estate, jobs, electronics, phones, fashion and more. Search by keyword and category, filter by price and seller type, and export full listing and seller data as JSON, CSV, or Excel.
| Search any keyword or one of nine top categories, filter by price range, seller type (professional / private), transaction type, and shipping — and get the complete listing for every result: full description, typed attributes, all photos, seller profile with rating, and engagement stats. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this Actor.
Actor: parsebird/milanuncios-scraper (Apify). Scrapes Milanuncios.com (Spanish classifieds). Call with ApifyClient.Input: { "text": "bmw x5", "category": "1", "sort": "cheap", "sellerType": "professional","transaction": "supply", "priceFrom": 15000, "priceTo": 40000, "isShippable": false,"fetchDetails": true, "maxResults": 200 }`text` and/or `category` required. category ids: 1 Motor, 32 Inmobiliaria, 3 Empleo, 2 Informática, 83 Telefonía,39 Juegos, 30 Casa y Jardín, 43 Moda, 31 Deportes; "" = all. sort: relevance|newest|cheap|expensive.sellerType: professional|private. transaction: supply|demand. fetchDetails=false is a faster search-only mode.Output: one item per listing — id, title, description, url, listingUrl, price{value,label,includeTaxes}, previousPrice,location{city,province,region}, categories[], category, attributes{name:{raw,formatted}}, photos[], photosCount,authorId, authorName, author{id,userName,score,reviewCount,location{lat,long,city,province,zipCode},avatarSrc},stats{views,favorites,shares,listings}, type, sellerType, transaction, shippingType, contactMethods,publicationDate, updateDate, sortDate, scrapedAt.Requires Apify Proxy RESIDENTIAL group, country ES (the default). Pricing: pay-per-result.
What does Milanuncios Scraper do?
Milanuncios has no public API and blocks automated access. This Actor renders the site like a real browser from a Spanish residential IP and returns clean, structured data.
- 🚗 Every category — Motor, Inmobiliaria, Empleo, Informática, Telefonía, Juegos, Casa y Jardín, Moda, Deportes, or all at once.
- 🔎 Keyword + filter search — price range, professional vs. private sellers, for-sale vs. wanted, shipping availability, and four sort orders.
- 📋 Full listing detail — description, all photos at full resolution, and typed attributes (kilometres, year, fuel, transmission, hp, doors, warranty for cars; condition, colour for phones; and so on).
- 🧑 Seller data — seller type, rating (score and review count), and location with latitude/longitude.
- 📈 Engagement stats — favourites, shares, and the seller's total listing count.
- ⚡ Fast search-only mode — set
fetchDetails: falseto skip the per-listing pages when you only need the search summary.
Input parameters
text and/or category is required.
| Parameter | Type | Default | Description |
|---|---|---|---|
| text | string | — | Search query, e.g. "iphone 15", "bmw x5". |
| category | string | "" (all) | Category id: 1 Motor, 32 Inmobiliaria, 3 Empleo, 2 Informática, 83 Telefonía, 39 Juegos, 30 Casa y Jardín, 43 Moda, 31 Deportes. |
| sort | string | relevance | relevance, newest, cheap, expensive. |
| sellerType | string | — | professional or private. |
| transaction | string | — | supply (for sale) or demand (wanted). |
| priceFrom | integer | — | Minimum price in EUR. |
| priceTo | integer | — | Maximum price in EUR. |
| isShippable | boolean | false | Only listings that offer shipping. |
| fetchDetails | boolean | true | Open each listing for full detail. Turn off for a faster, lighter run. |
| maxResults | integer | 100 | Maximum listings to extract (1–2000). |
| proxyConfiguration | object | Apify Proxy RESIDENTIAL / ES | Required. Milanuncios blocks non-residential traffic. |
Input examples
Basic search
{ "text": "iphone 15", "maxResults": 100 }
Category filter
{ "category": "1", "sort": "newest", "maxResults": 500 }
Advanced filtering
{ "text": "bmw x5", "category": "1", "sellerType": "professional", "priceFrom": 15000, "priceTo": 40000, "sort": "cheap", "maxResults": 200 }
Output example
{"id": "578414171","title": "BMW - XM","description": "Bienvenido a gtcars premium ...","url": "/bmw-de-segunda-mano/bmw-xm-578414171.htm","listingUrl": "https://www.milanuncios.com/bmw-de-segunda-mano/bmw-xm-578414171.htm","price": { "value": 124900, "label": "124.900 €", "includeTaxes": true },"previousPrice": { "value": 129900, "label": "129.900 €" },"location": {"city": { "id": 54264, "name": "San Miguel de Abona", "slug": "san-miguel-de-abona" },"province": { "id": 38, "name": "Tenerife", "slug": "tenerife" },"region": { "id": 62, "name": "Canarias", "slug": "canarias" }},"categories": [{ "id": 1, "name": "Motor", "slug": "motor" },{ "id": 13, "name": "Coches", "slug": "coches-de-segunda-mano" },{ "id": 805, "name": "BMW", "slug": "bmw-de-segunda-mano" }],"attributes": {"kilometers": { "raw": "25800", "formatted": "25.800 kms" },"year": { "raw": "2023", "formatted": "2023" },"fuel": { "raw": "other", "formatted": "otro" },"transmission": { "raw": "automatic", "formatted": "automático" },"hp": { "raw": "653", "formatted": "653 CV" }},"authorId": "207754224","authorName": "GT Cars Premium Tenerife","author": {"id": "207754224","userName": "GT Cars Premium Tenerife","score": 4.6,"reviewCount": 38,"isEmailVerified": true,"avatarSrc": "https://images.milanuncios.com/api/v1/ma-user-profile-pro/images/...","location": { "city": "San Miguel de Abona", "province": "Tenerife", "zipCode": "38620", "latitude": 28.024078, "longitude": -16.624159 }},"photos": ["https://images.milanuncios.com/api/v1/ma-ad-media-pro/images/327b7ea8-...", "..."],"photosCount": 18,"stats": { "favorites": 0, "shares": 1, "listings": 75 },"publicationDate": "2026-01-28T12:05:37Z","updateDate": "2026-02-02T09:06:33Z","sortDate": "2026-02-02T10:04:53Z","type": "professional","sellerType": "PROFESSIONAL","transaction": "supply","shippingType": "maexpress","contactMethods": { "chat": false, "form": true, "phone": true },"scrapedAt": "2026-02-02T09:52:28.762592+00:00"}
Fields present depend on the category and on what the seller filled in. Vehicle listings carry vehicle attributes, phone listings carry phone attributes, and so on.
Use cases
- Price research & arbitrage — track asking prices for a car model, phone, or property type across Spain.
- Dealer intelligence — map professional sellers, their rating, inventory size, and locations.
- Market monitoring — schedule the Actor and watch new listings for a saved search.
- Lead generation — collect professional-seller names, ratings, and locations for outreach.
- Data sets — build a structured second-hand-market dataset for analysis or ML.
How it works
- The Actor builds a Milanuncios search URL from your
text,category, and filters. - It loads each results page from a Spanish residential IP, passing the site's anti-bot check, and reads the embedded listing data.
- It paginates until
maxResultsis reached. - When
fetchDetailsis on, it opens each listing page and merges the full description, seller profile, stats, photos, and attributes. - Each listing is pushed to the dataset. Export as JSON, CSV, Excel, XML, or RSS, or wire it into Make, Zapier, Google Sheets, and Slack.
Using the Actor via API
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("parsebird/milanuncios-scraper").call(run_input={"text": "bmw x5","category": "1","priceFrom": 15000,"priceTo": 40000,"sort": "cheap","maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], "—", item.get("price"))
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_API_TOKEN>' });const run = await client.actor('parsebird/milanuncios-scraper').call({category: '32',sort: 'newest',maxResults: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
The Actor runs on the Apify platform: schedule it, call it over the REST API, trigger webhooks, and export to JSON, CSV, Excel, XML, or RSS.
Pricing
This Actor uses the pay-per-result pricing model — you are charged per listing, regardless of compute time.
| Plan | Price per listing | Price per 1,000 listings |
|---|---|---|
| Free | $0.0012 | $1.20 |
| Bronze | $0.0011 | $1.10 |
| Silver | $0.0010 | $1.00 |
| Gold | $0.0009 | $0.90 |
Scraping 1,000 listings on the Free plan costs about $1.20.
FAQ
Do I need a proxy? Yes. Milanuncios blocks datacenter traffic, so the Actor requires Apify Proxy with the RESIDENTIAL group and country ES — this is the default; just keep Proxy Configuration enabled.
How do I find a category id?
Use the table above. Set category: "" to search every category at once.
What is fetchDetails?
When on (the default), the Actor opens each listing for the full description, seller profile, stats, and every photo. When off, it returns only the search-results summary — faster and cheaper.
Why are some fields missing on a listing?
Milanuncios only stores what the seller entered. Some listings have no price, no attributes, or no photos, and only sellers with reviews carry a score / reviewCount.
How many listings can I get per run? Up to 2,000. For a bigger crawl, split the work by category, price band, or region and schedule multiple runs.
Can I schedule recurring runs? Yes — use Apify's scheduler and route new listings to a webhook or integration.
Related Actors
- Wallapop Scraper and other marketplace scrapers on the ParseBird publisher page.
- Fotocasa Scraper — Spanish real estate listings.
- InfoJobs / Indeed Jobs Scraper — job listings.
Legal and compliance
This Actor collects only publicly available listing and seller information from Milanuncios — data any visitor can see without logging in. It does not access private data or defeat authentication. You are responsible for using the output in line with Milanuncios' terms and applicable law, including the GDPR where personal data (seller names, locations, contact routes) is involved. Do not use the data to spam sellers. Seek legal advice before large-scale or commercial redistribution.