French Public Tender Monitor - BOAMP Alerts

Soyez alerté dès qu'un nouveau marché public français correspondant à votre activité est publié au BOAMP. Filtrez par mots-clés, départements et type de marché ; uniquement les avis jamais vus. API officielle, données organisationnelles, sans contacts personnels.

$2.00 / 1,000 · 100.0% success over 29 public runs in the last 30 days.

Run it on Apify → Free to try - runs bill per result on your own account.

What you give it

Every field is optional unless marked; sensible defaults do the rest.

FieldTypeWhat it doesDefault
keywords array Alert on notices whose subject (objet) contains ANY of these words. BOAMP is a French bulletin - use French terms, e.g. ["informatique", "logiciel"]. Leave empty and filter by department or market type instead. At least one of keywords, departments or marketTypes is required. ["informatique"]
departments array French department codes to limit the search to, e.g. ["75"] (Paris), ["69"] (Rhône), ["974"] (Réunion), ["2A"] (Corse-du-Sud). Empty = all of France. []
marketTypes array Only these kinds of procurement. Empty = all. []
lookbackDays integer How many days of already-published notices the FIRST run of a profile loads as its baseline. Later runs automatically continue from the previous run with one day of overlap - re-alerting a seen notice is impossible. 7
alertOn string "new" alerts once per notice. "new-and-updated" also alerts when a seen notice's état changes (marked isUpdate: true). Note: French corrections usually publish as a separate new notice. new
emitBaseline boolean On the very first run of a profile, push the currently matching notices (flagged isBaseline: true, charged at the lower baseline price). Turn off to seed silently and only ever receive new alerts. True
resetState boolean Discard this profile's memory of already-seen notices and start over with a fresh baseline run. One-shot switch: turn it back off afterwards. False
maxItems integer Upper bound on items pushed per run (baseline or alerts). Matches beyond the cap are not lost: they alert on the next run. 500
stateStoreName string Named key-value store holding the monitor's seen-notice memory. Only change this to run fully isolated monitor instances. france-tender-monitor-state

What you get back

One JSON object per result, with exactly these fields - no seller identities, no contact data, ever.

FieldTypeMeaning
noticeId string The notice's BOAMP identifier (idweb).
objet string Notice subject, in French as published.
buyerName string The buying organization. Organization-level data.
publishedDate string Publication date, YYYY-MM-DD.
deadline string Response deadline, YYYY-MM-DD, where published.
departments array French department code(s) of the procurement.
descriptors array BOAMP subject descriptor label(s) - the French classification.
descriptorCodes array BOAMP subject descriptor code(s).
marketType string Supplies / Services / Works (Fournitures / Services / Travaux).
family string Notice family (national vs European-threshold market).
noticeType string Notice nature (contract notice, award notice, etc.), as BOAMP categorizes it.
winnerName string Winning organization, on award notices. Organization-level data only.
url string Link to the notice on boamp.fr.
isBaseline boolean True on items from a profile's first run (the recent baseline). False on real new-notice alerts.
isUpdate boolean True when the alert is a re-publication of an already-seen notice (alertOn: new-and-updated).

Health

100.0% success over 29 public runs in the last 30 days. Live record, failures included: status page.

Full documentation, examples and the AI-assistant prompt live on the store page.