Ricardo.ch Scraper — Listings, Prices & Sellers
Pricing
from $5.00 / 1,000 ricardo.ch listings
Ricardo.ch Scraper — Listings, Prices & Sellers
Scrape public Ricardo.ch listings with prices, auction type, condition, seller ratings, images, shipping, and location. Use for Swiss price monitoring and resale research. Not for login-only or private account data. Returns one flat record per listing. $0.005/listing + $0.005 detailed.
Pricing
from $5.00 / 1,000 ricardo.ch listings
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
16 hours ago
Last modified
Categories
Share
Ricardo.ch Scraper collects public marketplace listings from Ricardo.ch and returns clean, schema-stable JSON for price monitoring, resale research, Swiss e-commerce intelligence, and AI agents. Search by free text or provide public search, category, and individual listing URLs. Detailed mode adds condition, seller rating, location, images, shipping, payment methods, attributes, and a cleaned description.
Use Ricardo.ch Scraper when you need reproducible marketplace data rather than manually copying listings. Do not use it for login-only pages, private account data, saved searches, buyer identities, messaging, or checkout automation. The actor does not log in and does not attempt to access private information.
What data can I extract with Ricardo.ch Scraper?
Each dataset item keeps the same field names across concise and detailed runs. Fields that are unavailable are represented by null or an empty array, which makes the output straightforward to consume through the Apify API and MCP Server.
| Field | Description |
|---|---|
listingId, listingUrl | Stable Ricardo identifier and canonical public URL |
title, price, currency | Listing name and displayed CHF price |
offerType, isAuction, endsAt | Auction or fixed-price metadata |
condition, availability, brand | Product status and brand |
sellerName, sellerRatingPercent | Public seller display data |
locationCity, postalCode | Public pickup or seller location |
shippingOptions, paymentMethods | Public fulfillment and payment information |
imageUrl, imageUrls | Primary image and up to ten detail images |
attributes, description | Normalized attributes and cleaned description |
scrapedAt, _warnings | Extraction timestamp and non-fatal warnings |
How much will scraping Ricardo.ch cost?
Ricardo.ch Scraper uses transparent pay-per-event pricing. It exposes a maximum result count before the run starts and stops when the result or user spending cap is reached.
| Event | Price | When it is charged |
|---|---|---|
| Actor start | $0.00005 per GB | Automatically when the run starts |
| Ricardo.ch listing | $0.005 | After one schema-valid listing is written |
| Detailed enrichment | $0.005 | After detailed listing fields are extracted |
Examples:
- 20 concise listings cost about $0.10 plus the small start event.
- 20 detailed listings cost about $0.20 plus the small start event.
- 100 detailed listings cost about $1.00 plus the small start event.
Underlying platform usage and proxy costs may apply according to the billing option shown by Apify. The run status and OUTPUT summary report the actual charged event counts.
Ricardo.ch Scraper use cases
- Track comparable prices for Swiss resale inventory.
- Monitor auctions and fixed-price offers in a product niche.
- Research product condition, shipping, and seller quality.
- Build a structured Ricardo dataset for analytics or machine learning.
- Feed marketplace listings to Claude, ChatGPT, or another MCP-capable agent.
- Compare Ricardo data with eBay, Google Shopping, AutoScout24, or Craigslist.
Ricardo.ch Scraper is most useful for public marketplace research. It is not an order placement, bidding, messaging, or account-management tool.
How to use Ricardo.ch Scraper
The smallest input is {}. That uses the default iphone 13 query, detailed format, and a 20-result cap so Apify health checks and first-time users receive a bounded run.
Search Ricardo.ch by keyword
{"searchQuery": "mechanical keyboard","locale": "de","maxResults": 20,"responseFormat": "detailed","minPrice": 50,"maxPrice": 300}
Price bounds are applied to extracted result prices. They are not added to Ricardo URLs.
Scrape exact public URLs
{"startUrls": [{ "url": "https://www.ricardo.ch/de/s/iphone%2013/" },{ "url": "https://www.ricardo.ch/de/a/example-listing-1292546868/" }],"maxResults": 30,"responseFormat": "concise"}
Accepted paths are public German, French, and Italian search (/s/), category (/c/), and listing (/a/) pages. Login, profile, account, and parameterized search/category URLs are rejected with an actionable warning.
Concise versus detailed output
Choose concise for fast search-card records containing title, price, image, URL, and stable placeholder fields. Choose detailed to visit each listing page and enrich it with public structured data. Both modes return the same keys, so downstream code does not need separate schemas.
Output example
{"listingId": "1292546868","title": "Apple iPhone 13 128 GB","listingUrl": "https://www.ricardo.ch/de/a/apple-iphone-13-1292546868/","price": 399,"currency": "CHF","offerType": "fixed_price","isAuction": false,"condition": "UsedCondition","availability": "InStock","endsAt": "2026-07-20T19:00:00Z","brand": "Apple","locationCity": "Zürich","postalCode": "8001","sellerName": "SwissTechShop","sellerRatingPercent": 99.8,"sellerRatingsCount": 1284,"categoryPath": ["mobile-phones"],"shippingOptions": ["PostPac Priority — CHF 9"],"paymentMethods": ["TWINT", "bank_transfer"],"imageUrl": "https://img.ricardostatic.ch/images/example/iphone-13","imageUrls": ["https://img.ricardostatic.ch/images/example/iphone-13"],"attributes": ["Storage: 128 GB", "Color: Blue"],"description": "iPhone 13 in very good condition with original packaging.","responseFormat": "detailed","scrapedAt": "2026-07-13T12:00:00Z","_warnings": []}
The default dataset is available as JSON, CSV, Excel, XML, RSS, and HTML through Apify storage exports. A separate OUTPUT key contains request counts, warnings, charged events, spending, proxy mode, and pagination guidance.
Use Ricardo.ch Scraper through the API
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/ricardo-ch-scraper').call({searchQuery: 'vintage watch',maxResults: 20,responseFormat: 'detailed',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('muhammadafzal/ricardo-ch-scraper').call(run_input={'searchQuery': 'vintage watch','maxResults': 20,'responseFormat': 'detailed',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use Ricardo.ch Scraper through an MCP Server
Ricardo.ch Scraper is exposed through Apify's hosted MCP Server. An agent can discover the actor, construct input from the declared schema, call it, preview results, and page through the dataset without parsing HTML. Use this Streamable HTTP endpoint after publication:
https://mcp.apify.com?tools=muhammadafzal/ricardo-ch-scraper
The tool is read-only with respect to Ricardo: it retrieves public listing pages and writes only to the Apify run's own storage.
Reliability and limitations
Ricardo uses Cloudflare bot protection, so Ricardo.ch Scraper runs a fingerprint-patched Firefox browser through Camoufox and keeps browser, cookies, and network identity consistent within each session. Failed challenge sessions are retired and retried. Heavy images, fonts, and stylesheets are blocked to reduce bandwidth while preserving structured listing data.
Ricardo's robots policy permits base public search pages but disallows parameterized search and category crawling. Therefore, this actor does not automate ?page= pagination or filter query strings. A search run processes the permitted base result page; pass multiple bare search/category URLs when you need broader compliant coverage. Results can also disappear when a listing ends between search and detail extraction. In that case, the actor preserves available search-card data and adds a warning.
Public marketplace markup can change. The extractor uses semantic links, image alt text, schema.org Product JSON-LD, and Next.js server data rather than relying on one generated CSS class. Nevertheless, schedule maintenance if this actor becomes part of a production monitoring workflow.
Other dedicated scrapers
- eBay Scraper
- Google Shopping Scraper
- AutoScout24 Scraper
- Craigslist Scraper
- Google Maps Scraper
- Google Maps Restaurant Scraper
- Domain.com.au Scraper
- Skyscanner Flight Scraper
- Google Scholar Scraper
- Dentist Leads Scraper
Frequently asked questions
How many results can I scrape with Ricardo.ch Scraper?
Set maxResults from 1 to 200. The actor also honors Apify dataset-item and total-charge caps. Because parameterized pagination is excluded, one bare search page may contain fewer records than the requested cap; multiple permitted Start URLs can expand coverage.
Can I integrate Ricardo.ch Scraper with other apps?
Yes. Use datasets, webhooks, schedules, Make, Zapier, n8n, or the Apify API. The flat field names are suitable for databases and spreadsheets.
Can I use Ricardo.ch Scraper with the Apify API?
Yes. Call muhammadafzal/ricardo-ch-scraper, then read the run's default dataset and OUTPUT key. JavaScript and Python examples are included above.
Can I use Ricardo.ch Scraper through an MCP Server?
Yes. Add the actor to Apify's hosted MCP Server using the Streamable HTTP URL above. The declared input and dataset schemas help agents select the tool and validate results.
Do I need proxies to scrape Ricardo.ch?
Ricardo currently presents Cloudflare challenges to ordinary HTTP clients. Production runs may require Apify residential proxy traffic alongside Camoufox. Proxy use and platform costs are shown in Apify before running.
Is it legal to scrape Ricardo.ch data?
This actor retrieves public pages only. Laws, contractual terms, robots policies, database rights, copyright, and privacy obligations vary by jurisdiction and use case. You are responsible for ensuring a lawful basis, following Ricardo's applicable terms, minimizing personal data, respecting rate limits, and not republishing protected content without permission. This actor is unofficial and is not affiliated with or endorsed by Ricardo AG.
Your feedback
Report missing fields, changed page structures, or reproducible blocked URLs in the actor's Issues tab. Include a public example URL and run ID, but never post account credentials or private data.