Oscaro Products Scraper
Pricing
from $2.99 / 1,000 products
Oscaro Products Scraper
Scrape Oscaro car parts by name or OE reference: price, RRP, EAN, brand, stock, promotions, cross-references, TecDoc specs and vehicle fitment count. France, Belgium, Spain, Portugal.
Pricing
from $2.99 / 1,000 products
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Oscaro Products Scraper
Oscaro Products Scraper extracts car parts from Oscaro, the French online car parts shop, by part name or OE / manufacturer reference: price, recommended retail price, promotions, stock, brand, reference, EAN, images and cross-references. Detail mode adds the full specifications table and how many vehicle types each part fits. Export the data as JSON, CSV or Excel.
| Search oscaro.com, oscaro.be, oscaro.es or oscaro.pt in the shop's own language, filter by brand, TecDoc part type, stock, promotion or universal fit, and get more than 1,000 products from a single search for price monitoring, catalog building and OE cross-reference lookups. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor: parsebird/oscaro-products-scraper. Scrapes the Oscaro car parts catalog (oscaro.com France, oscaro.be Belgium, oscaro.es Spain, oscaro.pt Portugal) by part name or OE/manufacturer reference. Call via ApifyClient: client.actor("parsebird/oscaro-products-scraper").call(run_input={"queries": ["plaquette de frein", "GDB1330"], "scrapeMode": "overview", "maxResults": 50}). Inputs: queries (array of strings: part names in the shop language or references such as GDB1330; optional when brand or genartId is set), scrapeMode ("overview" default | "detail": adds specs and vehicle_type_count), country ("fr" default | "be" | "es" | "pt"), maxResults (integer, default 100, total across all queries, shared evenly between queries; more than 1,000 per query is supported), brand (string, comma-separated manufacturer names such as BOSCH, VALEO; case-insensitive), genartId (string, comma-separated TecDoc part-type ids such as 402), available (boolean: in stock only), promo (boolean: on promotion only), universal (boolean: universal parts only). Output fields: item_id, productTitle, url, source, reference, search_reference, ean, brand, brand_id, brand_logo, genart_id, part_type, category, sub_category, price, raw_price, public_price, consign_price, currency, tax_rate, on_promotion, promotion_percentage, promotion_start_date, promotion_end_date, thumbnail, images, available, sold_as_pack, boxes_count, universal, country, equivalent_references [{manufacturer, references[]}], equivalent_references_count, search_query, scrapedAt; detail mode adds specs (object label -> value) and vehicle_type_count. Pricing: pay per product (overview) or per detail product (detail). Full API spec: https://apify.com/parsebird/oscaro-products-scraper/api. Get your token: https://console.apify.com/settings/integrations.
What is Oscaro Products Scraper?
Oscaro sells more than a million car parts from hundreds of brands, including BOSCH, VALEO, TRW, BREMBO and FEBI BILSTEIN, with shops in France, Belgium, Spain and Portugal. Each part has a price, a recommended retail price, a stock status and a list of equivalent OE and aftermarket references.
Oscaro Products Scraper turns that catalog into a dataset. Enter a part name such as plaquette de frein or a reference such as GDB1330, press Start, and get every matching product with its price, brand, reference, EAN and cross-references. It works as an Oscaro API alternative for price monitoring, competitor analysis and parts catalog enrichment. No Oscaro account is needed.
What can Oscaro Products Scraper do?
- 🔎 Search by part name or reference. Enter part names in the shop's language, or OE and manufacturer references such as
GDB1330or0 986 494 027. - 🌍 Four Oscaro shops. Search France (oscaro.com), Belgium (oscaro.be), Spain (oscaro.es) or Portugal (oscaro.pt), with each shop's own prices and labels.
- 🏷️ Filters. Limit results to one or more brands or TecDoc part types, in-stock products, products on promotion, or universal parts.
- 📦 Whole-brand exports. Leave the search empty and set a brand or part type to list that brand's or part type's catalog.
- 📈 More than 1,000 results per search. Large result sets are split by brand and part type, so one search can return thousands of products.
- 🔁 Cross-references. Every product lists its equivalent references, grouped by manufacturer, for OE-to-aftermarket lookups.
- 📋 Detail mode. Adds the full specifications table (dimensions, material, fitting position…) and how many vehicle types the part fits.
- 📅 Scheduling and integrations. Run daily with Apify Schedules and send results to Google Sheets, Slack, Zapier, Make or a webhook with Apify integrations.
- 🔌 API access. Start runs and read results from your own code with the Apify API, in JSON, CSV, Excel, XML or HTML.
What data can you extract from Oscaro?
| Field | Description |
|---|---|
item_id | Oscaro article id, the unique id of the part |
productTitle / part_type | Part name, such as Jeu de 4 plaquettes de frein |
brand, brand_id, brand_logo | Manufacturer name, Oscaro manufacturer id and logo |
reference / search_reference | Manufacturer reference as shown (0 986 494 027) and without spaces (0986494027) |
ean | EAN barcode |
genart_id | TecDoc generic article (part type) id |
category / sub_category | Category and sub-category, such as Freinage › Plaquettes de frein |
price | Current price, VAT included |
raw_price | Price before promotion, VAT included |
public_price | Recommended retail price, VAT included |
consign_price | Refundable core deposit (consigne), if any |
currency, tax_rate | Currency (EUR) and VAT rate in % |
on_promotion, promotion_percentage, promotion_start_date, promotion_end_date | Current promotion and its dates |
available | Whether the product is in stock |
sold_as_pack, boxes_count, universal | Pack, number of boxes and universal-fit flags |
thumbnail, images | Product image, small and large |
url | Product page on Oscaro |
equivalent_references | Equivalent references: [{manufacturer, references[]}] |
equivalent_references_count | Total number of equivalent references |
specs | Detail mode: specifications table as label → value |
vehicle_type_count | Detail mode: number of vehicle types the part fits (0 for universal parts) |
search_query, source, country, scrapedAt | Search that found the product, scrape mode, shop and scrape time |
How to scrape Oscaro
- Open Oscaro Products Scraper in Apify Console.
- Enter one or more Search queries, such as
plaquette de freinorGDB1330. - Pick the Scrape mode: Overview for price and stock data, or Detail to add specifications and vehicle fitment counts.
- Pick the Oscaro site if you want Belgium, Spain or Portugal instead of France.
- Optionally set a Brand, Part-type ID or the stock, promotion and universal filters.
- Set Maximum products and click Start.
- Download the results from the Output tab as JSON, CSV, Excel, XML or HTML, or read them through the API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
queries | array | No* | — | Part names or OE / manufacturer references, one per line |
scrapeMode | string | No | overview | overview or detail (adds specs and vehicle_type_count) |
country | string | No | fr | Oscaro shop: fr, be, es or pt |
maxResults | integer | No | 100 | Maximum products across all searches, shared evenly between queries |
brand | string | No | — | Manufacturer name, such as BOSCH; separate several with commas |
genartId | string | No | — | TecDoc part-type id, such as 402; separate several with commas |
available | boolean | No | false | In-stock products only |
promo | boolean | No | false | Products on promotion only |
universal | boolean | No | false | Universal parts only |
* Add at least one search query, or a brand or part-type filter.
Example input:
{"queries": ["plaquette de frein", "disque de frein"],"scrapeMode": "detail","brand": "BOSCH","available": true,"maxResults": 200}
Output example
A detail-mode record (cross-references and specs shortened):
{"thumbnail": "https://oscaro.media/catalog/images/oscjpg/normal/30/1457429238_1.jpg","item_id": "213933","productTitle": "Filtre à huile","url": "https://www.oscaro.com/filtre-a-huile-bosch-1-457-429-238-213933-7-p","source": "detail","reference": "1 457 429 238","search_reference": "1457429238","ean": "3165143543887","brand": "BOSCH","brand_id": "30","brand_logo": "https://oscaro.media/mu/suppliers/manufacturer/png/0030001.png","genart_id": "7","part_type": "Filtre à huile","category": "Filtres et huile","sub_category": "Filtres","price": 9.98,"raw_price": 9.98,"public_price": 19.32,"consign_price": 0.0,"currency": "EUR","tax_rate": 20.0,"on_promotion": false,"promotion_percentage": null,"promotion_start_date": null,"promotion_end_date": null,"images": ["https://oscaro.media/catalog/images/oscjpg/zoom/30/1457429238_1.jpg"],"available": true,"sold_as_pack": false,"boxes_count": 1,"universal": false,"country": "fr","equivalent_references": [{ "manufacturer": "SogefiPro", "references": ["FA5670", "FA5670AECO"] },{ "manufacturer": "CROSLAND", "references": ["2256"] }],"equivalent_references_count": 92,"specs": {"type": "Cartouche papier","diamètre extérieur": "65,00","diamètre intérieur": "26,00","Hauteur": "100,00 mm"},"vehicle_type_count": 936,"search_query": "filtre a huile","scrapedAt": "2026-10-25T12:55:42.532Z"}
Overview records have the same fields without specs and vehicle_type_count.
Use cases
- Price monitoring. Track Oscaro prices, promotions and recommended retail prices for the parts you sell, on a daily schedule.
- Competitor analysis. Compare brands and price levels within a part type, such as all brake pad sets (
genartId402). - Cross-reference lookups. Find the aftermarket equivalents of an OE reference, or the OE numbers behind an aftermarket part.
- Catalog enrichment. Add EANs, images, specifications and categories to your own parts catalog.
- Stock tracking. Watch which products go in and out of stock with the In stock only filter or the
availablefield.
How it works
- Each search query is run against the product search of the Oscaro shop you picked, with your filters applied.
- When a search matches more than 1,000 products and you asked for more, the results are split by brand and then by part type, so each part can be read in full.
- Each product is saved once per run, even if several queries find it.
- In detail mode, the specifications table is added, and the vehicle fitment lists are counted to give
vehicle_type_count.
How much does it cost to scrape Oscaro?
Oscaro Products Scraper uses pay-per-event pricing. You pay for each product saved. Overview mode charges a product event, and detail mode charges a detail event instead. Compute and proxy usage are included in the event price and are not billed separately.
| Event | Apify plan | Price per event | Price per 1,000 |
|---|---|---|---|
product (overview) | Free | $0.00499 | $4.99 |
product (overview) | Bronze | $0.00399 | $3.99 |
product (overview) | Silver | $0.00349 | $3.49 |
product (overview) | Gold | $0.00299 | $2.99 |
detail (detail) | Free | $0.01099 | $10.99 |
detail (detail) | Bronze | $0.00999 | $9.99 |
detail (detail) | Silver | $0.00899 | $8.99 |
detail (detail) | Gold | $0.00799 | $7.99 |
For example, 1,000 products in overview mode cost $4.99 on the Free plan, and the default prefill run of 50 products costs about $0.25. Apify's Free plan includes $5 of platform usage every month. Set a maximum cost per run in Console and the scraper stops when it is reached.
Use the scraper with Python and JavaScript
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/oscaro-products-scraper").call(run_input={"queries": ["plaquette de frein"],"brand": "BOSCH","available": True,"maxResults": 200,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["reference"], item["price"], item["public_price"], item["url"])
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/oscaro-products-scraper').call({queries: ['GDB1330'],scrapeMode: 'detail',maxResults: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => console.log(item.brand, item.reference, item.price, item.vehicle_type_count));
See the API tab for every endpoint, or the Apify API client docs for more options.
Is it legal to scrape Oscaro?
Oscaro Products Scraper collects only public product information that Oscaro shows to every visitor: product names, prices, stock status, references and specifications. It doesn't log in, and it doesn't collect personal data. Check Oscaro's terms of use for how you plan to use the data, and if you are unsure, consult a lawyer. Read more in Apify's post Is web scraping legal?
Other ParseBird automotive scrapers
| Actor | What it does |
|---|---|
| Bid.cars Scraper | Copart and IAAI auction lots with VIN, damage and prices |
| Otomoto.pl Scraper with Contacts | Polish car listings with prices, specs and seller contacts |
| AutoTrader.co.uk Scraper | UK car listings from AutoTrader |
| AutoTrader Canada Scraper (AutoTrader.ca) | Canadian car listings from AutoTrader.ca |
| che168 二手车 Autohome Scraper | Chinese used car listings from che168.com |
FAQ
Which language should I search in?
Use the language of the shop: French for France and Belgium (plaquette de frein), Spanish for Spain (pastillas de freno) and Portuguese for Portugal (pastilhas de travão). References such as GDB1330 work in every shop.
How many products can one search return?
More than 1,000. When a search matches more products than that and you ask for more, the scraper splits it by brand and part type. maxResults is shared evenly between your queries, so with 2 queries and maxResults 100 each query gets up to 50 products, and any share a query doesn't use goes to the next one.
What is the difference between Overview and Detail?
Both modes return price, stock, brand, reference, EAN, images and cross-references. Detail also adds the specifications table and vehicle_type_count, and is billed as a detail product.
Can I find the products that fit my car?
Not yet. The scraper searches by part name, reference, brand and part type, and vehicle_type_count says how many vehicle types a part fits, but it doesn't filter by vehicle.
How do I find a part-type ID?
Run a search once and look at the genart_id field of the parts you want. For example, 402 is brake pad sets on oscaro.com.
My brand filter returns nothing.
Use the brand name as Oscaro writes it, such as BOSCH or FEBI BILSTEIN. Case doesn't matter. When a brand isn't found, the run log suggests close matches.
Can I schedule runs and send the results somewhere? Yes. Use Apify Schedules to run hourly, daily or weekly, and integrations to send results to Google Sheets, Slack, Zapier, Make, Airbyte or a webhook.
Something doesn't work. Where do I report it? Open an issue in the Issues tab. We read every report.