e-marchespublics.com Tender Scraper (French Public Procurement)
Pricing
from $1.60 / 1,000 tender listings
e-marchespublics.com Tender Scraper (French Public Procurement)
Extract French public procurement tenders (appels d'offres) from e-marchespublics.com: title, contracting authority, location, procedure type, submission deadline and a link to the full notice.
Pricing
from $1.60 / 1,000 tender listings
Rating
0.0
(0)
Developer
Vivien MORVAN
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 hours ago
Last modified
Categories
Security
Limited permissionsShare
Get French public procurement tenders (appels d'offres) from e-marchespublics.com as clean structured data: contracting authority, location, procedure type, submission deadline and a link to the full notice.
At a glance
| What you get | French public procurement notices from e-marchespublics: title, buyer, location, procedure type, deadline and link. |
| Price | $2.00 per 1,000 tenders: a 50-tender test run costs about $0.11, start fee included. |
| Speed | 50 tenders in about 15 seconds. No login, no proxy, no browser to configure. |
| Try it | Click Try for free: the form is already filled with what nettoyage, category service, maxItems 50. |
| Keep it fresh | Schedule it daily and keep only the new tenders: see "Monitor new tenders daily" below. |
What you can do with it
- Monitor new tenders in your sector: run it daily with a keyword such as "nettoyage" or "voirie" to catch new opportunities as soon as they are published (results come newest first).
- Scan a category of work: filter on Works (travaux), Services or Supplies (fourniture) to see only the tenders relevant to your business.
- Feed a sales or bid-tracking pipeline: pull contracting authority, deadline and notice link into a CRM or spreadsheet.
- Benchmark the market: see which public bodies are buying what, where, and under which procedure.
Input
| Field | What it does |
|---|---|
Keywords (what) | Words to search for, exactly as typed in the site's own search box, for example nettoyage. Leave empty for every current tender. |
Category (category) | tous (all), travaux (works), service (services) or fourniture (supplies). Default: tous. |
Maximum number of tenders (maxItems) | The run stops once this many tenders are saved. Default 50, up to 500. |
Output
One record per tender:
{"id": "1184411-16543","title": "Marché de prestations de nettoyage des vitreries des bâtiments communaux","organism": "MAIRIE DE CORDEMAIS","location": "44360 CORDEMAIS","procedureType": "Service - Procédure Adaptée","deadline": "13/11/2026 à 12h00","url": "https://www.e-marchespublics.com/appel-offre/pays-de-la-loire/loire-atlantique/cordemais/1184411/16543"}
Export the dataset as JSON, CSV or Excel, or read it through the Apify API.
Good to know
- Tenders come newest first: a smaller
maxItemsstill gets you the most recent opportunities. - Keyword and category filters are applied by the site itself while reading the result pages: you only pay for tenders that match.
- A default run (no filters,
maxItems50) saves 50 tenders from 5 pages in well under a minute. - Only publicly listed notice data is extracted (title, contracting authority name, location, procedure type, deadline, link). No contact name, phone number or e-mail is ever collected.
En français
Cet extracteur récupère les avis de marchés publics publiés sur e-marchespublics.com : objet, acheteur, lieu, type de procédure, date limite et lien, en JSON, CSV ou Excel. Utile pour une veille quotidienne d'appels d'offres par mot-clé ou par catégorie. Aucun compte ni proxy ; la fiche détaillée n'est pas lue, donc aucun contact nominatif.
Why this one
- The fields a bid team needs. Each record has the contracting authority (
organism), thelocation, theprocedureType, the submissiondeadlineand the link to the full notice. - Filter by keyword and category. Works, services or supplies (
category), plus a free keyword (what).
Who uses it
- Bid teams get the new notices of their sector every morning, with the deadline and the contracting authority.
- Market research: who buys what, where, and how often.
Pricing
Pay per result: $2.00 per 1,000 tenders, plus $0.01 per run start with the default 4 GB of memory. For example, 100 tenders cost about $0.21. You only pay for the tenders you receive, and platform usage is included in that price. Store discounts apply automatically on paid Apify plans: up to 20% off every event on the higher tiers.
Run it from your code
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('bibian/e-marchespublics-tenders-scraper').call({what: 'nettoyage',category: 'service',maxItems: 50,});const { items } = await client.dataset(run.defaultDatasetId).listItems();
Python:
from apify_client import ApifyClientclient = ApifyClient(token="<APIFY_TOKEN>")run = client.actor("bibian/e-marchespublics-tenders-scraper").call(run_input={"what": "nettoyage","category": "service","maxItems": 50})items = client.dataset(run["defaultDatasetId"]).list_items().items
Monitor new tenders daily and connect your tools
- Schedule it. Save a task with your keyword and schedule it daily with Apify Schedules. Deduplicate on the
idfield and usedeadlineto drop expired notices. Tick Only new results in the input and each run returns, and charges, only the tenders that earlier runs of the same search did not deliver. - Push the results where you work. Add an Apify integration or a webhook to the task: Google Sheets, Slack, Make, Zapier, n8n or your own endpoint, triggered at the end of every run.
- Call it from your stack. The API and the JavaScript and Python clients return the dataset as JSON, CSV or Excel.
- Let an AI agent use it. Through the Apify MCP server, assistants such as Claude or ChatGPT can search the Store, read this page and run the actor as a tool.
Frequently asked questions
Do I need an account, cookies or a proxy for e-marchespublics.com? No. The actor reads publicly visible pages only.
Which formats can I export? JSON, CSV, Excel, XML, HTML table or RSS, from the dataset page or through the API.
Is it legal to scrape? The actor collects publicly visible tender notices and respects the robots.txt rules of the site. How you use the data is your responsibility: check the site's terms and the laws that apply to you, for example the GDPR.
Need another site, a missing field or a new filter? Open an issue in the Issues tab and say what you need, with an example URL if you have one. Requests are read, and the most asked ones are built next.
Something does not work? Open an issue in the Issues tab. Every public actor is test-run daily and the broken ones are repaired.
Did this save you time? A short review on the Store page helps other people find the actor, and tells me what to improve next.