API TED · marchés publics européens en REST

Consommez les appels d'offres du TED (Tenders Electronic Daily, Journal officiel de l'Union européenne) en JSON propre : filtres pays, CPV, budget, et un historique continu depuis janvier 2015 (1,7 M+ avis TED normalisés sur les marchés FR, DE, IT, ES, UK).

Créer une clé gratuite → Voir la documentation

Qu'est-ce que le TED ?

Le TED (Tenders Electronic Daily) est la version en ligne du Supplément au Journal officiel de l'Union européenne (série S), publié par l'Office des publications de l'UE. Tout marché public dépassant les seuils européens doit y être publié : appels d'offres, avis de préinformation, résultats d'attribution, rectificatifs.

Pourquoi une API REST au lieu des données TED brutes ?

Le TED expose ses données via des exports XML et une API officielle de recherche. Deux obstacles concrets : une syntaxe de requête propriétaire (expert search) à apprendre, et surtout la rupture de format de 2024 : les notices sont passées du XML historique au format eForms, avec des schémas radicalement différents. TenderAPI absorbe les deux formats dans un schéma JSON unique et stable, continu de 2015 à aujourd'hui.

Données TED officiellesAPI TenderAPI
FormatXML legacy + eForms (2 schémas)JSON plat, schéma unique
Rupture legacy / eForms 2024à gérer côté clientabsorbée, historique continu
Syntaxe de requêteexpert search propriétaireparamètres REST typés
Filtre paysvariable selon champcountry=FR (ISO alpha-2)
CPV normalisésselon format de la noticeliste typée + cpv_family
SIRET des entités françaisesabsent du legacyreconstitué via SIRENE (~69-95%)
Suivi des attributionsnotices séparéesendpoint dédié /awards
Croisement avec le BOAMPsource distinctemême schéma, même appel
Le point clé : la migration eForms de 2024 a cassé la plupart des parseurs TED existants. Avec TenderAPI, un avis de 2016 et un avis de 2026 ont exactement la même structure JSON.

Exemple : filtrer les appels d'offres TED

Un appel pour récupérer les marchés TED de travaux (CPV 45000000) publiés en Allemagne, encore ouverts après le 1er août :

# Requête
curl -H "X-API-Key: ta_votreCleTenderAPI" \
  "https://tenderapi.fr/tenders?source=ted&country=DE&cpv=45000000&deadline_after=2026-08-01"

Exemple de réponse

Extrait de réponse réelle (avis authentique, consultable via source_url) :

{
  "total": 282,
  "page": 1,
  "page_size": 20,
  "results": [
    {
      "id": 3758799,
      "source": "ted",
      "source_id": "494088-2026",
      "source_url": "https://ted.europa.eu/en/notice/-/detail/494088-2026",
      "title": "Allemagne – Travaux de construction – Lüftungstechnische Anlagen",
      "buyer_name": "Landeshauptstadt Hannover - Fachbereich Gebäudemanagement",
      "country": "DE",
      "cpv_codes": ["45000000", "45331210"],
      "budget_min": null,
      "budget_max": null,
      "currency": "EUR",
      "published_at": "2026-07-17T00:00:00Z",
      "deadline": "2026-08-25T00:00:00Z",
      "procedure_type": "open",
      "contract_type": "works",
      "status": "open"
    }
  ]
}

Recherche par mot-clé : pensez multilingue

Les avis TED sont publiés dans la langue de l'acheteur. Pour couvrir un concept sur plusieurs pays, combinez les traductions avec OR :

curl -H "X-API-Key: ta_votreCleTenderAPI" \
  "https://tenderapi.fr/tenders?source=ted&keyword=bathymétrie OR Bathymetrie OR batimetría"

Endpoints disponibles côté TED

Voir la documentation interactive Swagger pour la liste exhaustive des paramètres et modèles de réponse, et la FAQ pour les taux de complétude par champ et par format (legacy vs eForms).

Démarrer en 2 minutes

  1. Créer une clé API gratuite (100 requêtes/jour, pas de carte bancaire)
  2. Ajouter le header X-API-Key: ta_… à vos requêtes
  3. Filtrer avec source=ted et country=FR|DE|IT|ES|UK selon vos marchés cibles
Obtenir ma clé → Voir aussi : API BOAMP (France)