Next free-source hunt
We check for new free data every weekday.
Datasets / OSINT
docs.ted.europa.eu/

EU TED Search API

Freeauth: noneProvider terms#osint#company-data#event-data#historical-data#alt-data✓ verified Nov 2, 2026

EU TED Search API

The Publications Office of the European Union exposes published Tenders Electronic Daily procurement notices through a search API. JSON search results can include notice identifiers, publication dates, multilingual titles and links to XML, HTML and PDF forms; the Search API needs no key.

Required Attribution:

Acknowledge the source and indicate changes for EU-owned content; check the specific notice for additional copyright statements.

Coverage

The API searches procurement notices published on TED and supports expert-query filters plus bulk XML retrieval. Page-number mode returns at most 15,000 notices per query and 250 per page; iteration mode removes the total retrieval cap but retains the 250-per-page and 10,000-fields-per-page limits.

Verdict

A public procurement signal for demand, contract awards, buyer activity and supplier opportunities visible in TED notices. Publication dates and CPV or place filters can support sector and regional monitoring. Notices are multilingual, schemas can change, and source records may be corrected or superseded. Public procurement records can include named business or official contacts; use them as published records and respect notice-specific third-party rights.

Get the free weekly email

Free weekly email of newly verified free data. Unsubscribe by emailing us.

Use in your agent

Load keyless TED procurement notices into pandas and Parquet. Checked against the provider's documentation on Nov 2, 2026.

Raw skill file (/skills/ted-search-api.md)Also in our MCP server: call get_ingestion_skill with {"slug": "ted-search-api"}.

Access

  • The Search API for published notices is anonymous and does not require an EU Login or API key.
  • Other TED APIs that manipulate unpublished notices require an API key.

Request

bash
curl -X POST 'https://api.ted.europa.eu/v3/notices/search' -H 'Content-Type: application/json' -d '{"query":"publication-date=20261102","fields":["publication-number","publication-date","notice-title"],"page":1,"limit":5}'

Format

JSON with notices, a total-notice count, timeout state and optional iteration token. Notice fields can contain multilingual objects and links to XML, PDF and HTML renditions.

Load into pandas and Parquet

Needs Python 3 with requests, pandas and pyarrow.

python
"""TED notices published on 2026-11-02 -> pandas -> Parquet."""
import requests
import pandas as pd

URL = "https://api.ted.europa.eu/v3/notices/search"
body = {
    "query": "publication-date=20261102",
    "fields": ["publication-number", "publication-date", "notice-title"],
    "page": 1,
    "limit": 5,
}
r = requests.post(URL, json=body, timeout=60)
r.raise_for_status()
notices = r.json()["notices"]
df = pd.DataFrame([{
    "publication_number": x.get("publication-number"),
    "publication_date": x.get("publication-date"),
    "title_en": (x.get("notice-title") or {}).get("eng"),
} for x in notices])
df.to_parquet("ted_notices_2026_11_02.parquet", index=False)
print(len(df), "notices; publication date", df["publication_date"].iloc[0])

Run by us on 2026-11-02 (python 3.13.5 | pandas 3.1.0 | pyarrow 26.0.0 | requests 2.34.2). Result: 5 notices; publication date 2026-11-02+01:00

Limits

  • Rate limit: Not stated.
  • Page-number mode retrieves at most 15,000 notices, with at most 250 notices and 10,000 fields per page.
  • Iteration mode has no total-notice cap but retains the 250-notice and 10,000-field per-page limits.

Quirks

  • Expert-query syntax uses field names such as publication-date=20261102; invalid syntax returns a structured HTTP 400 response.
  • notice-title is a language-code object, so select a language such as eng or retain the full mapping.
  • publication-date values can include a UTC offset after a date without a time, such as 2026-11-02+01:00; preserve the source string unless a downstream convention is defined.

Terms and attribution

  • TED documentation presents published notices for reuse and analysis without Search API authentication.
  • Acknowledge the source and indicate changes for EU-owned editorial content.
  • Check individual notices for third-party works, identifiable-person rights and any specific copyright notice.

Sources

Information and education only. Not financial, investment, legal or tax advice. Listings can be inaccurate, incomplete or out of date and are provided "as is". Free tiers, limits and licenses belong to each provider and can change, so check the provider's own terms before you rely on them. Terms & Disclaimer