How to access EU & French public tenders via API (free, no auth required)
Source: Dev.to
The official sources nobody talks about
Both BOAMP (France’s official public procurement bulletin) and TED (Tenders Electronic Daily – the EU’s official source) have free, documented APIs that require zero authentication. No API key, no registration, no rate‑limit headaches.
- BOAMP: powered by Opendatasoft, returns clean JSON
- TED API v3: official EU endpoint covering all 27 member states
Together they represent ~50,000 new notices per year for France alone.
The problem with using them directly
The raw APIs return inconsistent formats, buried budget fields, opaque deadline structures, and no sector labeling. You end up writing hundreds of lines of parsing code before you can do anything useful.
What I built
I built Tender Intelligence API, a unified wrapper around both sources that gives you structured, clean data per tender:
| Field | Example |
|---|---|
| Title | “IT infrastructure maintenance” |
| Buyer | City of Lyon |
| Budget | 120,000 € |
| Deadline | Oct 15 (44 days left) |
| Sector | IT / Software |
| Source | BOAMP / TED |
Quick example in Python
import requests
url = "https://tender-intelligence.p.rapidapi.com/search"
headers = {"X-RapidAPI-Key": "YOUR_KEY"}
params = {"q": "informatique"}
response = requests.get(url, headers=headers, params=params)
tenders = response.json()
for t in tenders["results"]:
print(f"{t['title']} — {t['budget']} — {t['days_left']} days left")Available endpoints
GET /search?q=...– keyword search across BOAMP + TED in parallelGET /sectors– list of 15 labeled sectorsGET /sectors/{id}– all tenders in a sector (IT, Health, Construction…)GET /notices/{source}/{id}– full detail of a single noticeGET /health– upstream source status
Free tier available
A free plan with 100 requests/month is available. No credit card required. Paid plans start at $29/month for unlimited access.
👉 Try Tender Intelligence API on RapidAPI
The GitHub repo is also public if you want to contribute or self‑host.
