Ricardo.ch Scraper — Listings, Prices & Sellers avatar

Ricardo.ch Scraper — Listings, Prices & Sellers

Pricing

from $5.00 / 1,000 ricardo.ch listings

Go to Apify Store
Ricardo.ch Scraper — Listings, Prices & Sellers

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

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

16 hours ago

Last modified

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.

FieldDescription
listingId, listingUrlStable Ricardo identifier and canonical public URL
title, price, currencyListing name and displayed CHF price
offerType, isAuction, endsAtAuction or fixed-price metadata
condition, availability, brandProduct status and brand
sellerName, sellerRatingPercentPublic seller display data
locationCity, postalCodePublic pickup or seller location
shippingOptions, paymentMethodsPublic fulfillment and payment information
imageUrl, imageUrlsPrimary image and up to ten detail images
attributes, descriptionNormalized attributes and cleaned description
scrapedAt, _warningsExtraction 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.

EventPriceWhen it is charged
Actor start$0.00005 per GBAutomatically when the run starts
Ricardo.ch listing$0.005After one schema-valid listing is written
Detailed enrichment$0.005After 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 os
from apify_client import ApifyClient
client = 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().items
print(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

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.

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.