EU tenders API for AI agents: TED notices and contract awards over MCP

An EU tenders API your agent calls over MCP: search the published tender notices and contract awards on TED (Tenders Electronic Daily), read one notice by its number, and list the awards naming a supplier or a buyer, each row with its official source, licence and dates, priced before every run.

The problem

Your agent should watch for public tenders in your field, check which contracts a competitor has won, or see what a public buyer has awarded. TED publishes all of it, but its search is built for a browser, the API needs its own account and query language, and the scrapers sold for it are another subscription. You want one call per question, paid per call.

Steps

6
  1. Find published public tenders$0.004 per successful call

    Find published tender notices by words and country: title, CPV code, buyer country, published value and deadline for each notice. Procurement · procurement.tenders.search

  2. Find published public contract awards$0.004 per successful call

    Find published contract award notices by words and country, with the awarded value and currency where the notice states them. Procurement · procurement.awards.search

  3. Read a public procurement notice$0.002 per successful call

    Read one tender or award notice by its publication number, with the link to the original. Procurement · procurement.notice.get

  4. Find a supplier’s published contract awards$0.01 per successful call

    List the published awards that name a company as the supplier. Procurement · procurement.supplier.awards

  5. Find a buyer’s published contract awards$0.01 per successful call

    List the published awards made by a public buyer, such as a city or a ministry. Procurement · procurement.buyer.awards

  6. Find a company in business registers$0.004 per successful call; Free for GB, CZ

    Confirm a supplier's legal name and registry code in its official business register before you match it to award notices. Company data · companies.register.search

Example cost for 100 rows

  • Find published public tenders$0.40

    100 x $0.004 per successful call at Ahel

  • Find published public contract awards$0.40

    100 x $0.004 per successful call at Ahel

  • Read a public procurement notice$0.20

    100 x $0.002 per successful call at Ahel

  • Find a supplier’s published contract awards$1.00

    100 x $0.01 per successful call at Ahel

  • Find a buyer’s published contract awards$1.00

    100 x $0.01 per successful call at Ahel

  • Find a company in business registersfrom $0.40 (Ahel) up to $0.88 (if Apify answers every row)

    100 x $0.004 per successful call; Free for GB, CZ at Ahel; a row with no answer goes to the next provider, and only the one that delivers is charged

At most, for 100 rows through every step$3.88

Steps charged only when a result is found cost less when nothing is found. Paid from your prepaid balance at the quoted customer price. No top-up fee. Pay per call; each call’s price is shown before it runs. Each run is quoted before it starts.

Real receipt

1 Nov 2026
Try it

Paste this into your agent

Start free, no card needed. Your agent runs each step and reports the cost.

Use Ahel. Find the open tenders for "<your product or service>" in <country> with procurement.tenders.search, and the contract awards for the same words in the last two years with procurement.awards.search. Then list the awards naming "<competitor legal name>" as supplier with procurement.supplier.awards. Quote the total before you run anything, then give me a table with notice number, title, buyer country, CPV, value, deadline and the TED link, and tell me what it cost.

Get this week's EU software tenders by email

Every Thursday: the new TED notices in software and IT services from the past 7 days, with buyer country, deadline, value and the link to the official notice. Free, built from Ahel's own TED data.

One email a week. Unsubscribe with one click from any digest.

What a result looks like

Every procurement task returns the same row: notice_id, title, publication_date, notice_type, cpv, buyer_country, published_total_value, result_value, result_currency, tender_deadline, value_basis, match_basis and source. value_basis says where the value comes from (the published estimate or the awarded result), match_basis says why the row matched your words or your supplier name, and source carries the official TED record, its licence and the publication date. procurement.notice.get returns the same row for one publication number, with the link to the original notice.

Where the data comes from

The notices are read from TED, the Supplement to the Official Journal of the European Union, queried per call by Ahel registry service: no scraper, no proxy, and no TED account on your side. TED carries the notices that EU rules require to be published Europe-wide, which are the larger contracts above the EU thresholds. National tenders below those thresholds appear only in each country's own portal, so a search here is not all public spending in a country, and the result says so.

Matching a supplier

procurement.supplier.awards matches the supplier name as it appears in the notice, and buyers spell names in many ways. Treat its rows as candidates: check the legal name and registry code with companies.register.search first, and read the original notice through procurement.notice.get before you report a win. Ahel serves no directors, owners or people from procurement records.

What it costs

When we checked on 2 Nov 2026, procurement.tenders.search and procurement.awards.search cost $0.004 per successful call, procurement.notice.get $0.002 per successful call, and procurement.supplier.awards and procurement.buyer.awards $0.01 per successful call. A search that finds nothing, and a country TED does not cover, are free. These are Ahel tariffs with no percentage margin, and every run is quoted and reserved before it starts.

Going further

companies.check combines a company's official registry identity, status, financial headlines, its published procurement awards and possible sanctions matches into one sourced report that states its gaps, at $0.25 per successful call. For the registers themselves, see the guide to official European business registers.

Set up Ahel in your agent

  • Claude Code

    Run once, then approve the sign-in: claude mcp add --transport http --scope user ahel 'https://mcp.ahel.ai'

  • Codex

    Run once, then approve the sign-in: codex mcp add ahel --url 'https://mcp.ahel.ai' && codex mcp login ahel

  • Claude.ai

    Add a custom connector with the server address https://mcp.ahel.ai and approve the sign-in.