EU Tenders API — TED Procurement Deadlines avatar

EU Tenders API — TED Procurement Deadlines

Pricing

from $4.00 / 1,000 tender results

Go to Apify Store
EU Tenders API — TED Procurement Deadlines

EU Tenders API — TED Procurement Deadlines

Search active EU public procurement notices from the official TED API. Filter tenders by keyword, buyer country, CPV code, publication date, submission deadline, and minimum value. Export clean JSON/CSV rows for bid pipelines, sales teams, alerts, dashboards, and AI agents.

Pricing

from $4.00 / 1,000 tender results

Rating

0.0

(0)

Developer

Ilya Kalesnichenka

Ilya Kalesnichenka

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

10 days ago

Last modified

Share

EU Tender Shortlist — TED Opportunity Ranking

Turn the official TED procurement feed into a ranked sales shortlist. Filter active European tenders by keyword, country, CPV code, publication date, minimum value, and submission deadline; every result receives an explainable fitScore, concrete fitReasons, and actionable riskFlags before export to JSON or CSV.

Agent Utility Shop

This repository also powers Agent Utility Shop, a public pay-per-call API catalogue for autonomous agents. Discovery requires no account or API key; paid routes use x402 with USDC on Base Mainnet.

  • Catalogue: https://api.ikoles.dev/catalog.json
  • Agent manifest: https://api.ikoles.dev/.well-known/agent.json
  • OpenAPI: https://api.ikoles.dev/openapi.json
ServiceRoutePriceDelivery
TenderSignalPOST /v1/tender-shortlist$0.15synchronous
CSV/JSON Cleanup and QAPOST /v1/csv-cleanup$2.00synchronous
Deterministic JSON DiffPOST /v1/json-diff$0.01synchronous
Deterministic OpenAPI Contract AuditPOST /v1/openapi-audit$0.05synchronous
Engineering Unit ConversionPOST /v1/unit-convert$0.01synchronous
Humanoid Robot FMEA QueryPOST /v1/humanoid-fmea-query$0.05synchronous
ClinicalTrials Results QueryPOST /v1/clinical-trials-query$0.05synchronous
Evidence-backed Research BriefPOST /v1/research-brief$5.00asynchronous
CSV/JSON Quality ToolkitGET /v1/products/csv-json-quality-toolkit$9.00ZIP download
Codex Safe Paid Work KitGET /v1/products/codex-safe-paid-work-kit$15.00ZIP download
Automation Data Toolkit BundleGET /v1/products/automation-data-toolkit-bundle$24.00ZIP download
Engineering Unit Conversion APIGET /v1/products/engineering-unit-conversion-api$19.00ZIP download
Clinical Trial Outcomes — Post-2020 SnapshotGET /v1/products/clinical-trials-outcomes-post-2020$99.00ZIP download

The research endpoint returns 202 Accepted with an opaque statusUrl. An isolated Codex CLI worker processes the queue every minute and writes either a structured sourced result or a sanitized failure state. The availability gate runs before payment, so a disabled queue cannot charge a customer.

The engineering converter supports 92 canonical units and 496 directed compatible pairs across length, force and torque, pressure, temperature, electrical, flow, thermal, and mass and density domains. GET /v1/unit-catalog exposes the supported units for free; incompatible physical quantities are rejected.

The OpenAPI audit accepts one inline OpenAPI 3.0 or 3.1 JSON contract. It inventories paths, operations, schemas, methods, security schemes, servers, and tags; reports duplicate operation IDs, incomplete responses and path parameters, undefined security schemes, and unresolved local references; and returns a bounded machine-readable score. External references are reported but never fetched.

The Humanoid Robot FMEA Query filters 96 source-traceable evidence and preliminary design-review records by free text, layer, priority, evidence type, or minimum RPN. Each response returns at most 20 records with source URLs and controls under CC BY 4.0. The material supports research and design review; it is not certification, field reliability evidence, or professional safety approval. If the validated release is unavailable, the route returns 503 before payment.

The ClinicalTrials Results Query filters 38,638 trial-level summaries from a validated ClinicalTrials.gov results snapshot by free text, status, phase, condition, intervention, and results-posting date. It returns at most 20 canonical registry links and endpoint summaries, without exposing the full measurements/analyses bundle. Registry content is not medical advice, evidence grading, or a treatment recommendation. If the compact release is unavailable, the route returns 503 before payment.

The paid Clinical Trial Outcomes snapshot contains 38,638 studies, 326,638 endpoints, 2,602,129 measurements, and 149,059 analyses sourced from the public ClinicalTrials.gov API for studies with posted results from 2020 onward. The ZIP includes normalized CSV and JSONL tables, a data dictionary, provenance, quality checks, and a SHA-256 manifest. Use the $0.05 ClinicalTrials Results Query above as a bounded query preview before purchasing the full $99.00 release. Registry content may be corrected after extraction and is not medical advice, evidence grading, or a treatment recommendation; verify current records at ClinicalTrials.gov.

curl -i -X POST \
-H 'content-type: application/json' \
--data '{"rows":[{"email":" Alice@example.com "},{"email":"alice@example.com"}],"keyColumns":["email"]}' \
https://api.ikoles.dev/v1/csv-cleanup

The unpaid request returns 402 Payment Required with a machine-readable x402 challenge. An x402 client signs the payment and replays the same request.

curl -i -X POST \
-H 'content-type: application/json' \
--data '{"document":{"openapi":"3.1.0","info":{"title":"Example API","version":"1.0.0"},"servers":[{"url":"https://api.example.com"}],"paths":{"/health":{"get":{"operationId":"getHealth","summary":"Read health","responses":{"200":{"description":"Healthy"}}}}}}}' \
https://api.ikoles.dev/v1/openapi-audit
curl -i -X POST \
-H 'content-type: application/json' \
--data '{"domain":"pressure","from":"bar","to":"psi","value":2.5}' \
https://api.ikoles.dev/v1/unit-convert
curl -i -X POST \
-H 'content-type: application/json' \
--data '{"query":"battery fire","priority":"Critical","minRpn":30,"limit":5}' \
https://api.ikoles.dev/v1/humanoid-fmea-query
curl -i -X POST \
-H 'content-type: application/json' \
--data '{"condition":"Parkinson","overallStatus":"COMPLETED","resultsFirstPostFrom":"2023-01-01","limit":5}' \
https://api.ikoles.dev/v1/clinical-trials-query
curl -i \
https://api.ikoles.dev/v1/products/clinical-trials-outcomes-post-2020

Why use this Actor?

  • Returns only notices with a tender deadline in the future when the run starts.
  • Produces one normalized row per notice, using its nearest eligible tender deadline.
  • Ranks by best fit, nearest deadline, or highest published value.
  • Explains every score and flags short deadlines or missing estimated values.
  • Requires no API key, proxy, or browser.

Quick start

{
"keywords": ["software", "server"],
"countries": ["DEU", "FRA"],
"cpvCodes": ["72"],
"minValue": 100000,
"rankingMode": "bestFit",
"maxResults": 100
}

Input

All date defaults are calculated from the run start in UTC. Dynamic UTC dates are applied at runtime rather than stored in the input schema.

FieldTypeDefaultDescription
keywordsstring[][]Up to 10 terms. A notice can match any term through TED full-text search.
countriesstring[][]Up to 30 unique ISO 3166-1 alpha-3 buyer country codes, such as DEU, FRA, or POL.
cpvCodesstring[][]Up to 20 unique CPV codes or prefixes, each containing 2–8 digits.
publishedAfterstringUTC date 30 days before run startInclusive earliest publication date in YYYY-MM-DD format.
publishedBeforestringNot setInclusive latest publication date in YYYY-MM-DD format.
deadlineAfterstringUTC date of run startInclusive earliest tender deadline date in YYYY-MM-DD format.
deadlineBeforestringNot setInclusive latest tender deadline date in YYYY-MM-DD format.
minValuenumberNot setNonnegative minimum procedure-level estimated value in each notice's native/source currency, with no currency conversion. Cross-currency values are not economically normalized; combine this filter with a narrow country or use case, or inspect the output currency. Notices without a numeric value are excluded when this is greater than zero.
rankingModebestFit | deadlineSoonest | highestValuebestFitSort the shortlist by explainable fit, the nearest eligible deadline, or the highest published estimated value. Unknown values sort last in highestValue mode.
maxResultsinteger100Maximum number of eligible rows to collect, from 1 to 5,000. A run charge budget can reduce the number actually written.

Output

Each default-dataset item follows the TenderRow contract. The values in this example are illustrative and do not identify a verified procurement notice:

{
"noticeId": "412345-2026",
"title": "Framework agreement for software development and support services",
"buyerName": "Illustrative City Digital Services Agency",
"buyerCountryCodes": ["DEU"],
"cpvCodes": ["72000000", "72200000"],
"estimatedValue": 2500000,
"currency": "EUR",
"publicationDate": "2026-07-10",
"deadline": "2026-08-31T15:00:00.000Z",
"daysToDeadline": 47,
"fitScore": 100,
"fitReasons": [
"Keyword match: software",
"Buyer country match: DEU",
"CPV match: 72",
"Estimated value meets minimum: 2500000",
"Deadline is active: 47 days remaining"
],
"riskFlags": [],
"sourceUrl": "https://ted.europa.eu/en/notice/412345-2026/html"
}

Pricing

$0.004 per item written to the default dataset. Empty results and notices filtered out before the final dataset write do not create dataset-item events.

A run-level maxTotalChargeUsd can cap the rows written below maxResults. The final status reports the actual submitted count and, when budget-limited, the eligible count as well.

Need a done-for-you shortlist? See the EU Tender Shortlist service for a custom, ranked delivery.

Data source and limitations

This Actor queries the official TED Search API. Procedure-level estimated value can be absent from a notice, so estimatedValue and currency can be null. The deterministic fit score uses the requested keyword, country, CPV, minimum-value, and deadline evidence; it is a prioritization aid, not an eligibility decision. Keyword matching uses TED full-text search and is not semantic matching. Verify the source notice for the complete procurement record and current requirements.

Disclaimer

This independent tool is not affiliated with or endorsed by the European Union or TED. Users are responsible for verifying procurement details on the linked official notice before acting.