EuroScrape: ready-to-use data scrapers (Apify Actors)

Cloud scrapers for hotel and flight prices, public tenders, second-hand marketplaces, app reviews, company data and website technologies. No code and no servers needed: run them on Apify, schedule them, get alerts, and pay only per result.
This repository holds input templates and real sample outputs for each Actor, plus code snippets to run them from your own scripts. (The Actors’ source code is not public.)
📦 Actors
| Actor | What you get | Price | Try it |
|---|---|---|---|
| Google Hotels Scraper (Google Travel): Prices on Booking Sites | Unofficial Google Hotels API and hotel price tracker: hotel prices for any destination and dates, the price on every booking site (official website, Booking.com, Expedia…), rate parity, price calendars, price-drop alerts | $0.002 per hotel and date, +$0.003 with all booking sites | ▶ example |
| Ryanair Low Fare Finder: Cheapest Days, Anywhere & Alerts | Unofficial Ryanair API: Ryanair prices and fare calendars (cheapest price per day, months ahead), every destination under your price cap from any airport, alerts on drops and new deals | $0.0005 per fare | ▶ example |
| Google Flights Scraper: Cheapest Dates, Prices & Price History | Unofficial Google Flights API and flight price tracker: flight prices for any route and dates, cheapest day to fly, price calendar, typical price range, price history, CO2, round trips, price-drop alerts | $0.002 per flight | ▶ example |
| EU Electricity Prices API: Day-Ahead Power Prices & Cheap Hours | Electricity prices API (energy prices, power prices): hourly day-ahead spot prices for 40+ European bidding zones: tomorrow’s prices, the cheapest window of the length you need (1-12 h), negative-price alerts, years of history | $0.0002 per hour row | ▶ example |
| EU Public Tenders Scraper: TED, BOAMP, Awards & Tender Alerts | Public procurement API (TED API, BOAMP API): open tenders and contract awards from all of Europe (TED) and France (BOAMP, DECP): deadlines, values in €, buyers, winners per lot, bids received | $0.003 per tender, $0.005 per award | ▶ example |
| Vinted Scraper & Vinted API: 26 Countries, Deals & Alerts | Unofficial Vinted API: search Vinted in 26 countries: prices with buyer fees, brand, size, condition, seller ratings, cheapest-country summary, alerts on new listings and price drops | $0.001 per item | ▶ example |
| EU Second-Hand Marketplaces Scraper: Vinted, OLX & More | Second-hand API: one search for used items on the top second-hand marketplace of 18 European countries: prices in €, deal score, cheapest country, resale margin | $0.002 per listing | ▶ example |
| Website Technology Stack Detector: Tech Stack API, CMS & Leads | Technology detection API and tech stack API: technologies of any website (CMS detection, e-commerce, analytics…), company identity from the legal notice, contacts and sales signals | $0.02 per website | ▶ example |
| EU VAT Number Validator (VIES): Bulk Check, Proof & Alerts | VAT validation API: bulk VAT validation against the EU’s official VIES registry: company names, official consultation proof for tax audits, alerts when a customer’s number becomes invalid | $0.002 per check | ▶ example |
| Impressum & Legal Notice Scraper: VAT, Registry, Contacts | Impressum API and imprint scraper: the website owner behind any European website — legal entity name, registry numbers and VAT IDs, checked against official registries | $0.004 per website | ▶ example |
| France Fuel Prices: Gas Station Prices, Diesel Prices & Alerts | Fuel prices API (gas prices, petrol prices): official live prices of all ~10,000 French stations: cheapest Diesel, SP95/98, E10, E85, LPG around any point, with distances, medians, local spread and price-drop alerts | $0.001 per station | ▶ example |
| France Real Estate Sold Prices (DVF): €/m², Sales & Trends | DVF API and house prices API: every sale registered by the French State (real estate transactions): real prices, €/m², surfaces, addresses, GPS, the energy rating (DPE) of the home sold and an indicative rental yield, median prices per city and per energy class, yields ranked by commune, alerts on new sales | $0.0005 per sale | ▶ example |
| France Energy Ratings (DPE): Homes, Energy Certificates, Sieves | DPE API (EPC API): official ADEME energy performance certificates of French homes: energy and CO2 class, address, GPS, consumption, estimated yearly bill, insulation quality, F/G share per city, alerts on new certificates | $0.001 per certificate | ▶ example |
| France Building Permits (Sitadel): Projects, Builders & Alerts | Building permits API (construction permits, planning permission): official register of French building permits: new housing programmes, commercial and industrial buildings, with the developer (name, SIREN), address of the works, dwellings, floor area and status; alerts on new permits and when works start | $0.003 per permit | ▶ example |
| Trusted Shops Scraper: Shop Leads, Ratings, Reviews & Alerts | Trusted Shops API: online shops of 11 European markets by keyword and size: legal entity, address, email, phone, register number, rating and 12-month review volume; customer reviews with the shop’s replies; alerts on new negative reviews | $0.002 per shop, +$0.004 with company profile, $0.0006 per review | ▶ example |
| French Companies Scraper: SIRENE Leads, Directors & Emails | French companies API (SIRENE API, SIRET API): every French company by activity, area and size, with finances and optionally a verified website, emails and phones | $0.004 per company | ▶ example |
| UK Companies House API & Scraper: UK Company Data & B2B Leads | Unofficial Companies House API: UK companies by SIC code and location, with officers and optionally website, emails and phones | $0.004 per company | ▶ example |
| No-Website Leads: New Businesses Without a Website (US, UK, FR) | No-website leads API: newly registered companies with no website yet, from the official registers of the UK, France and five US states (Texas, New York, Colorado, Connecticut, Oregon): name, activity, registered office, registration date, and for each company whether a domain at its name exists, when it was created and what answers there (web design leads, daily feed) | $0.005 per lead | ▶ example |
| App Store Reviews Scraper + Google Play Reviews (All Countries) | App Store reviews API and Google Play reviews API: mobile app reviews from both stores in 58 countries: rating, text, version, developer reply, summary by version and country, alerts on new negative reviews | $0.0002 per review | ▶ example |
| Kleinanzeigen Scraper & Kleinanzeigen API: Deals & Alerts | Unofficial Kleinanzeigen API: German classifieds with a deal score vs. market price, view counts and instant alerts | $0.002 per ad | ▶ example |
Each run also costs $0.003 to start. Apify subscribers get 10–30% off.
🚀 Run an Actor from your code
Get your API token in Apify Console → Settings → Integrations.
curl
curl -X POST "https://api.apify.com/v2/acts/euroscrape~google-hotels-prices/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d @examples/google-hotels-prices/input.json
Python (pip install apify-client)
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("euroscrape/eu-public-tenders").call(run_input={
"keywords": ["software"],
"countries": ["DE", "FR", "PL"],
"publishedWithinDays": 7,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("deadline"), item.get("url"))
JavaScript (npm install apify-client)
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('euroscrape/eu-marketplace-deals').call({ searchQueries: ['nintendo switch oled'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.filter((x) => x.type === 'listing').slice(0, 5));
🤖 Use with AI agents (MCP)
Every Actor here works as a tool for Claude, Cursor, VS Code and any MCP client, through Apify’s hosted MCP server. Add one URL to your client and the Actors you list become callable tools:
{
"mcpServers": {
"euroscrape": {
"url": "https://mcp.apify.com?tools=euroscrape/eu-electricity-prices,euroscrape/vat-validator",
"headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }
}
}
}
No token in a file? Open mcp.apify.com and connect your client with OAuth instead.
Ready-made sets, one server URL per need:
| For | Server URL |
|---|---|
| Travel prices | https://mcp.apify.com?tools=euroscrape/google-flights-prices,euroscrape/google-hotels-prices,euroscrape/ryanair-low-fares |
| Company data and B2B leads | https://mcp.apify.com?tools=euroscrape/france-companies,euroscrape/uk-companies,euroscrape/company-identity,euroscrape/vat-validator,euroscrape/website-intelligence,euroscrape/trusted-shops-scraper,euroscrape/no-website-leads |
| Real estate and energy (France, EU) | https://mcp.apify.com?tools=euroscrape/france-property-prices,euroscrape/france-energy-ratings,euroscrape/france-building-permits,euroscrape/eu-electricity-prices,euroscrape/france-fuel-prices |
| Second-hand marketplaces | https://mcp.apify.com?tools=euroscrape/vinted-scraper,euroscrape/kleinanzeigen-scraper,euroscrape/eu-marketplace-deals |
| Public tenders and app reviews | https://mcp.apify.com?tools=euroscrape/eu-public-tenders,euroscrape/app-reviews |
All of them are pay-per-event Actors: an agent can also pay per run without an Apify account (agentic payments: x402, Skyfire). Each folder in examples/ has the input an agent should send and a real result.
📁 Examples
Each folder in examples/ has a page for its Actor (what it returns, API call, MCP URL, price) and:
input.json: a working input you can paste in Apify Console or send to the API,output-sample.json: one real result (personal data removed).
🔔 Monitoring
Hotels, tenders, second-hand marketplaces, Kleinanzeigen and company registries have a monitoring mode: set a monitorName, schedule the Actor (Apify Console → Schedules), and each run returns only what’s new (new tenders, new listings, new companies, price drops…). Hotels, tenders and marketplaces can also push alerts to Slack, Telegram, Discord or any webhook.
💬 Feedback
Missing a field, a country or a source? Say it in a review on the Actor’s page in Apify Store.
📊 Data pages, updated daily
Two small tables rebuilt every day from official open data: the cheapest electricity hours in 28 European bidding zones and the cheapest fuel around twenty French cities. Each has a JSON copy.
✈️ Flight price tracker
A template repository that tracks Google Flights prices in Git: one CSV per route, updated every day by GitHub Actions, with a Telegram or Discord alert when a fare drops. One Python file, no dependency: EuroScrape/flight-price-tracker.
🤖 MCP server
All twenty Actors as tools for Claude, Cursor and any MCP client, with a spending cap per call: EuroScrape/euroscrape-mcp. In Claude Desktop it installs in one click from the latest release, and it is listed in the official MCP registry as io.github.EuroScrape/euroscrape-mcp.
📚 Articles & guides
Real numbers, real code, from building and running these Actors:
- Check a hotel’s price on every booking site (and spot rate-parity gaps) without writing a scraper
- Same used iPhone, 62% price gap - comparing second-hand prices across 18 European countries
- 57% of the contract lots I sampled got a single bid - mining EU tenders and award winners from TED
- Find websites running WordPress, WooCommerce or Shopify - and the ones that need your help
- Build B2B lead lists from official company registers (France SIRENE and UK Companies House)
- The same flight cost $362 or $162 depending on the day - building a fare calendar from Google Flights
- Get every new 1-star review of your app in Slack (App Store and Google Play, 58 countries)
- When a Vinted search finds nothing, it quietly shows you popular junk - here is how to detect it
- Zero-rating an intra-EU invoice? Without a VIES consultation number, you may owe the VAT yourself
- France publishes every property sale as open data - most people compute the price per m² wrong
- Night power is not the cheapest, and the cheapest fuel station is often a ghost - two things official energy data taught me
- I matched 2,518 apartment sales to their energy certificates - F and G homes sold 16% cheaper per m²
- Companies file 1 French building permit in 5 and build 3 homes in 4 - and the register names them 8 months before the site opens
- A 4.8-star shop tells you nothing - across 444 German online shops the rating fits in a third of a point, while the share of 1 and 2 star reviews varies 11x
- The median “PlayStation 5” on Kleinanzeigen costs 55 euros - three traps in second-hand price data
🧪 Example projects
Small, runnable Python projects built on these Actors (one file each, pip install apify-client):
| Project | What it does |
|---|---|
examples/flight-fare-calendar |
Prints the cheapest day to fly on your routes as a fare calendar, and writes fares.csv |
examples/hotel-rate-parity-monitor |
Checks whether a hotel’s official site is the cheapest place to book it, night by night |
examples/shop-complaint-rate |
Ranks the online shops of a niche by their share of 1 and 2 star reviews - what the star rating hides - and writes shops.csv with company and contact |
examples/eu-tenders-slack-alerts |
Posts new EU public tenders matching your keywords to a Slack channel, daily |
examples/new-company-leads |
Lists this week’s new companies in your town that have no website - the ones that just bought a domain first - and writes leads.csv |