EU Tender Match
Pricing
from $5.00 / 1,000 results
Go to Apify Store
EU Tender Match
Find and rank relevant European public procurement opportunities from the official TED Search API.
EU Tender Match
Pricing
from $5.00 / 1,000 results
Find and rank relevant European public procurement opportunities from the official TED Search API.
You can access the EU Tender Match programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.4", "x-build-id": "J4LBAzNJJCsE22OxU" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/coppered_swamphen~eu-tender-match-ai/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-coppered_swamphen-eu-tender-match-ai", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/coppered_swamphen~eu-tender-match-ai/runs": { "post": { "operationId": "runs-sync-coppered_swamphen-eu-tender-match-ai", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/coppered_swamphen~eu-tender-match-ai/run-sync": { "post": { "operationId": "run-sync-coppered_swamphen-eu-tender-match-ai", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "countries": { "title": "Buyer countries", "type": "array", "description": "FR/FRA, BE/BEL, DE/DEU etc. Empty means all. Ignored when tedQuery is supplied.", "default": [], "items": { "type": "string" } }, "sector": { "title": "Business sector", "enum": [ "all", "it", "construction", "engineering" ], "type": "string", "description": "Presets use CPV families: IT = 48*/72*, construction = 45*, engineering = 71*. Ignored in expert mode.", "default": "all" }, "cpvCodes": { "title": "Additional CPV codes", "type": "array", "description": "Eight digits or prefixes such as 72*. OR-combined with the sector codes. Ignored in expert mode.", "default": [], "items": { "type": "string" } }, "lookbackDays": { "title": "Publication lookback (days)", "minimum": 1, "maximum": 90, "type": "integer", "description": "Includes today in UTC. Used only in simple mode; range is rolling, not a fixed historical date.", "default": 7 }, "noticeKind": { "title": "Notice group", "enum": [ "competition", "all", "result" ], "type": "string", "description": "Competition is a notice category, NOT a guarantee the deadline is open. Ignored in expert mode.", "default": "competition" }, "keywords": { "title": "Required matching terms", "type": "array", "description": "Literal terms or phrases. No semantic AI. Empty means no keyword filter or score.", "default": [], "items": { "type": "string" } }, "excludeKeywords": { "title": "Excluded matching terms", "type": "array", "description": "Any matching excluded term removes the notice. No regular expressions.", "default": [], "items": { "type": "string" } }, "matchingMode": { "title": "Matching method", "enum": [ "words", "legacy" ], "type": "string", "description": "Words: accents normalized, complete tokens/phrases in titles/descriptions. Legacy: substring matching in every returned field." }, "minKeywordMatches": { "title": "Minimum matched terms", "minimum": 0, "maximum": 30, "type": "integer", "description": "Threshold over distinct keywords. Ignored with an empty keyword list.", "default": 1 }, "preferredLanguage": { "title": "Preferred output language", "type": "string", "description": "FR, EN, DE or a TED three-letter code. Uses available translations; never translates with an LLM.", "default": "fr" }, "limit": { "title": "Notices per page", "minimum": 1, "maximum": 250, "type": "integer", "description": "Old limit input preserved: page size, 1-250. Total inspection is bounded by limit multiplied by maxPages.", "default": 100 }, "maxPages": { "title": "Maximum pages", "minimum": 1, "maximum": 10, "type": "integer", "description": "One page by default. Up to 10 pages; stops earlier at result or charge limits. Ranking is per page.", "default": 1 }, "maxResults": { "title": "Maximum delivered notices", "minimum": 1, "maximum": 250, "type": "integer", "description": "Hard cap on dataset items in a run.", "default": 50 }, "maxRuntimeSeconds": { "title": "Maximum working time", "minimum": 15, "maximum": 180, "type": "integer", "description": "Local timeout around collection, retries, locks and writes. Platform initialization/cleanup may add time.", "default": 90 }, "historyMode": { "title": "Recurring watch mode", "enum": [ "off", "newOnly", "newOrChanged" ], "type": "string", "description": "Off: no cross-run history. New only: ignore seen publication IDs. New or changed: also emit changed content for the same ID.", "default": "off" }, "watchName": { "title": "Watch identifier", "type": "string", "description": "Required when history is enabled. 1-60 letters, digits, _ or -. Each account and selection gets its own history." }, "historyDays": { "title": "History retention", "minimum": 7, "maximum": 365, "type": "integer", "description": "Delivered IDs expire after this many days. A historical query may re-emit an expired ID. Hard cap: 20,000 IDs.", "default": 90 }, "tedQuery": { "title": "Advanced TED query (optional)", "type": "string", "description": "When non-empty, overrides countries/sector/cpvCodes/lookbackDays/noticeKind. Existing API inputs remain accepted." }, "fields": { "title": "Advanced returned fields", "type": "array", "description": "Empty uses defaults. Providing fields replaces the default field set. publication-number is always added. Missing fields are not invented.", "default": [], "items": { "type": "string" } } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for EU Tender Match from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: