Milanuncios Scraper for Listings, Prices and Sellers

Milanuncios Scraper
Solutions

How we run it

The crawl plan is built from the category and provincia grid rather than from deep pagination. That is deliberate. On a cars index captured on 10 June 2025 the page reported 41 results per page, a ceiling of 200 pages and a result total that saturates instead of counting further, so a broad query cannot be walked to the end. Slicing by category, province and price band keeps each slice under that ceiling.

Milanuncios sits behind a bot wall. Plain HTTP clients get a 403 interstitial rather than a page, so collection runs in a real browser context at a measured rate, and backs off when the site asks it to. We do not attempt to defeat the challenge itself.

Output is limited to listing and commercial data. Seller identifiers can be pseudonymised or dropped entirely on request.

Fields we extract from a Milanuncios ad

Milanuncios renders its pages on the server and ships the page state as JSON inside the HTML, so a single ad page carries a whole record rather than scattered fragments. On an ad page captured on 6 July 2026 the fields present were these.

  • Ad id - a nine digit number, repeated as the tail of the URL, and the same value Milanuncios support asks for as the Referencia del anuncio (ad reference).
  • Title and description - the description is free text and keeps the seller's own line breaks.
  • Price - a cash price with a flag for whether tax is included, plus a separate financed figure on many dealer ads.
  • Seller type - an explicit field holding private or professional. It is a value in the data, not a badge you have to read off the layout.
  • Location - provincia (province) and municipio (municipality), each with an id, a display name and a slug.
  • Dates - three separate ones: publication date, last update date, and the sort date that decides where the ad ranks.
  • Typed attributes - each carries a machine value next to a Spanish display value, so kilometers reads 99000 beside 99.000 kms, and fuel reads gasoline beside gasolina. On cars the labelled set runs kilómetros, año, combustible, cambio, CV, puertas, color, garantía and distintivo ambiental, the Spanish environmental sticker.
  • Images - one full URL per photo on the images.milanuncios.com host.
  • Flags and counters - reserved, highlighted, which contact channels the seller left open, and counts of favourites and shares.
  • Category path - the whole chain, which for a car runs Motor, then Coches, then the make.

We extract that record, flatten the typed attributes into named columns and deliver it as CSV, JSON, XLSX or an API.

Fields we extract from a Milanuncios ad
How Milanuncios behaves, and what a crawl has to handle

How Milanuncios behaves, and what a crawl has to handle

The URL grammar is simple and stable. Every path has one or two segments. An ad sits at /{category}/{title-slug}-{nine digit id}.htm. An index sits at /{category}/ or /{category}-en-{place}/, where place is a provincia, or a municipio followed by its provincia. Accents are stripped and multi word provinces take an underscore, so La Rioja becomes la_rioja and Ciudad Real becomes ciudad_real. Keyword landing pages use the same two segment .htm shape but have no trailing id, so the id is what separates a real ad from an SEO page.

Two details catch people out. Province ids in the page data follow Spain's official INE codes, which is convenient once you notice it: Madrid is 28, Ourense is 32, Sevilla is 41, and the data joins straight to public statistics. Less convenient, in bilingual regions a municipality carries both of its names joined by a pipe in the slug, so Alicante appears as alicante|alacant and Crevillent as crevillent|crevillente. Anything keyed on the place string alone will split one town in two.

Ads also expire. Milanuncios states that an expired or deleted anuncio cannot be recovered and has to be published again, which issues a new nine digit id. We therefore track by id and match on seller, title, price and attributes as well, or a relist reads as a new car.

What Milanuncios is and who sells on it

Milanuncios is a Spanish general classifieds marketplace and has been running since 2005. Schibsted Classified Media Spain completed its purchase in 2014, the business passed to Adevinta when that group was spun out in 2019, and it changed hands again when EQT completed the acquisition of Adevinta Spain in February 2026, a deal announced in July 2025. Its stablemates in that Spanish portfolio are Coches.net, motos.net, Fotocasa, habitaclia and InfoJobs. Two older classifieds domains now point at it: checked on 27 August 2026, both vibbo.com and segundamano.es redirect to www.milanuncios.com.

The catalogue is a single tree. A capture from 10 June 2025 lists 17 top-level categories, each with a numeric id and its own path: Motor at /motor/, Inmobiliaria (real estate) at /inmobiliaria/, Empleo (jobs) at /ofertas-de-empleo/, then Servicios, Negocios, Informática, Telefonía, Casa y Jardín, Moda y complementos, Bebes, Juegos, Imagen y Sonido, Formación y libros, Aficiones y ocio, Deportes y náutica, Mascotas y agricultura and Comunidad.

This matters more than it looks. The big verticals are not separate sites with separate rules. A used car, a flat to rent and a job advert sit in the same tree, use the same URL grammar and carry the same core record, so one crawler covers all of them. Ads come from two kinds of seller, shown to users as particular (private individual) and profesional (trade), and Milanuncios runs a separate paid product, Milanuncios Pro, for the professional side.

Get a Quote
dev_w
25

Developers

customers
500+

Customers worldwide

pages
1 500 000 000+

Pages extracted

stime
15000+

Hours saved for our clients

Plans

Airplane

€199 / one-time

setup fee - included

Data limits100,000
Frequencyone-time
Run timeup to 5 days
Data storing7 days

Helicopter

€169 / mo

setup fee €499

Data limits250,000
Frequencymonthly
Run timeup to 5 days
Data storing14 days

Glasses

€229 / mo

setup fee €499

Data limits1,000,000
Frequencyweekly
Run timeup to 5 days
Data storing30 days

DNA

€549 / mo

setup fee €799

Data limits3,000,000
Frequency3 times daily
Run timesame day
Data storing90 days

Why teams pull Milanuncios data

Teams scrape Milanuncios for three things: what is on the market, what is being asked for it, and who is asking. Private and trade supply share one index, so Milanuncios prices can be read from both sides rather than from dealers alone.

The seller type field is where most motor work starts. Because private and professional are distinct values on every ad, the same model splits cleanly into a private column and a dealer column, and you can watch the gap move by provincia, week over week. Dealer pages help as well: every professional seller has a shop page under /tiendas-profesionales/ with its own numeric id, so one dealer's stock can be followed as units appear, get renewed and drop off.

Price movement is already in the page. Listing cards carry a previous price beside the current one when the seller has cut it, so a drop does not have to be inferred from your own history, although we keep that history too.

And since every ad has both a publication date and a sort date, a genuinely new ad can be told apart from an old one that was simply renewed. That is the difference between measuring supply and measuring seller activity.

Related Case Studies

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days

Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.

Learn More about The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
The Lowest Allegro Prices from 150K Eans Collected

The Lowest Allegro Prices from 150K Eans Collected

Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.

Learn More about The Lowest Allegro Prices from 150K Eans Collected
Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset

Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.

Learn More about Ralph Lauren Monitoring on Amazon, 8 Markets Scanned Into One Clean Dataset
Our Blog

Reads Our Latest News & Blog

Learn how to use web scraping to solve data problems for your organization

6 E-Commerce Sites Like eBay to Scrape in 2026

6 E-Commerce Sites Like eBay to Scrape in 2026

If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

Top 8 E-commerce Websites to Scrape in 2026 (From Amazon to 1688)

E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

How to Scrape Amazon Data: Benefits, Challenges & Best Practices

Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.

scrapeit logo

Working with ScrapeIt

ScrapeIt is a managed web scraping agency. You name the fields and the cadence. We build the crawler, run it, monitor it and repair it when Milanuncios changes its markup, which it does. What you receive is data, not a repository to look after.

Every engagement opens with a sample from a slice you choose, so the columns can be checked against live ads before any schedule is agreed. Scope, frequency and format are settled in writing first.

FAQ

Does Milanuncios have a public API?

No. Milanuncios publishes no documented public data API, and its robots.txt disallows the /api/ path outright. A seller facing product called Milanuncios Pro exists for professional advertisers, but that is a tool for managing your own listings, not a feed of the marketplace. One trap if you go searching: in Spanish property, API stands for Agente de la Propiedad Inmobiliaria, a licensed estate agent, so shop names on the site containing API are agencies rather than software. Collecting Milanuncios data means scraping the public pages, which is what we do.

How often can Milanuncios data be refreshed?

As often as the slice earns. Motor and property move daily and dealer stock rotates continuously, so most schedules run daily or twice daily on the categories that matter and weekly across the long tail. There is a second reason to run daily: an ad can be renewed once a day, which lifts it back to the top of results and resets its expiry, so only a daily read separates genuinely fresh supply from renewed supply. We agree cadence per category rather than applying one interval to everything.

Can you tell private sellers from dealers?

Yes, and without guessing. Every ad carries a seller type field whose value is private or professional, the two sides Milanuncios shows to users as particular and profesional. Professional sellers also get a shop page under /tiendas-profesionales/ with its own numeric id, so their ads group cleanly by dealer. On the first page of a cars index captured on 10 June 2025, 32 of the 42 ad records were professional and 10 were private, a fair warning that a casual sample of Milanuncios is not a sample of private supply.

What happens to a Milanuncios listing when it sells or expires?

It leaves the search results and its URL stops serving the ad. Milanuncios states that an expired or deleted ad cannot be restored and has to be published again, and a republished ad receives a new nine digit id. That has a practical consequence for anyone measuring time to sale, because the id alone will not link a relisted item back to the original. We keep the last good snapshot of every ad we have seen, so a disappearance is recorded as an event rather than quietly vanishing from your file.

Do you collect seller names and phone numbers?

Not by default. The output is limited to listing and commercial data: title, description, price, location, dates, category, attributes, images and seller type. Where a seller identifier is needed to group a dealer's stock, it can be pseudonymised or excluded on request. Descriptions are free text and private sellers sometimes type a phone number into the body, so that text is filtered before delivery, and we leave the contact endpoints alone - Milanuncios keeps seller email addresses hidden from other users and puts its own contact paths behind a robots.txt disallow. Personal data in the EU falls under the GDPR; we scope collection to what you actually need, and you should take your own legal advice on your intended use.

How does it Work?

Step 1 - Make a Request

You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.

Step 2 - Configuring Custom Web Crawlers

Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.

Step 3 - Collect and Deliver

Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.

Step 4 - Maintain and Support

Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.

Request a Quote

Tell us more about you and your project information.
Which sites, which fields, how often. A couple of lines is enough.

We reply within 1 business day. No obligation.

scrapiet

Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582