Skip to main content
Glama

hexadatalabs/eu-tenders-ted-scraper

hexadatalabs--eu-tenders-ted-scraper
Destructive

This tool calls the Actor "hexadatalabs/eu-tenders-ted-scraper" and retrieves its output results. Actor description: Use this when you need public tenders from the EU's TED (Tenders Electronic Daily): contract notices and awards by keyword, country, CPV code and date, with buyer, deadline, estimated value and link. Official API, incremental mode for daily runs. Pay per result.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "hexadatalabs--eu-tenders-ted-scraper"
  }
}

Input Schema

NameRequiredDescriptionDefault
dateToNoOnly notices published on or before this date (YYYY-MM-DD). Empty = today.
cpvCodesNoCommon Procurement Vocabulary codes, hierarchical: "72000000" = all IT services, "45" = all construction work, "33600000" = pharmaceuticals. A shorter prefix is padded with zeros. Find codes at https://ted.europa.eu/en/simap/cpv
dateFromNoOnly notices published on TED on or after this date (YYYY-MM-DD), e.g. 2026-10-01. Empty = no lower bound (when no other filter is set, the last 7 days are used).
waitSecsNoMax seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget.
countriesNoISO 3166-1 alpha-2 codes of the buyer's country, e.g. DE, FR, ES, IT, NL, PL (alpha-3 like DEU also works). Empty = all countries publishing on TED (EU, EEA and others). Example values: ["DE"]
includeRawNoAttach the original TED API object under "raw" (all languages, all fields requested). Useful for debugging or custom parsing; makes items much bigger.
maxResultsNoStop after this many tenders. Newest notices come first. Above 15,000 the Actor switches to TED's iteration mode automatically. Example values: 50
noticeTypesNoUse "competition" for open calls you can still bid on (contract notices), "result" for contract award notices with winner and amount, "planning" for prior information notices. Example values: "all"all
searchQueriesNoFull-text search over the whole notice, one phrase per line, e.g. "software", "cloud", "road maintenance". TED searches in the language of the notice, so an English word finds English notices plus titles that contain it; add translations to widen ("Software" is the same in German, "logiciel" in French). Leave empty to filter only by country / CPV / date. Example values: ["software"]
includeDetailsNoAdd per-lot data (lot title, description, value, deadline), submission and document URLs, contract duration, framework-agreement flag and number of tenders received. Same price per result; items are larger.
proxyConfigurationNoTED is an open API that does not need a proxy; leave it off. Turn on Apify Proxy only if your runs are blocked from a specific region. Example values: {"useApifyProxy":false}
onlyNewSinceLastRunNoUse this on a schedule: the Actor remembers when it last ran (shared store "hexadata-eu-tenders-ted" in your account) and returns only notices published since then that it has not delivered before. The first run saves everything that matches.

Output Schema

NameRequiredDescriptionDefault
tipNoAdvisory guidance RAG Web Browser wrote to its key-value store under the reserved "TIP" key
runIdYesActor run ID
statsNoRun statistics
statusYesRun status: READY | RUNNING | TIMING-OUT | TIMED-OUT | ABORTING | ABORTED | SUCCEEDED | FAILED
actorIdYesStable Apify Actor ID from the run record
summaryYesPast-tense summary of the run state
exitCodeNoActor process exit code; populated for terminal states (especially FAILED)
nextStepYesOne primary follow-up action with identifiers interpolated
storagesYesDataset and key-value store metadata, keyed by alias. "default" is always the primary entry.
actorNameNo"username/actor-name"
startedAtNoISO timestamp when the run started
finishedAtNoISO timestamp when the run finished (terminal states only)
statusMessageNoPass-through from Apify run.statusMessage
apifyConsoleUrlNoPersonalized Apify Console link to the run; present only for Console sessions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  2. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  3. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  4. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  5. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  6. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  7. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  8. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  9. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  10. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  11. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  12. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  13. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  14. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  15. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  16. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  17. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  18. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  19. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  20. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  21. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  22. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  23. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  24. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  25. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  26. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  27. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  28. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  29. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  30. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  31. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  32. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  33. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  34. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  35. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  36. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  37. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  38. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  39. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  40. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  41. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  42. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  43. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  44. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  45. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  46. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  47. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  48. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  49. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  50. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  51. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +[
      +  "null",
      +  "string"
      +]
  52. Changed1 schema field changed
    • changedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema / properties / procedureType / type
      Previous value: -[
      -  "null",
      -  "string"
      -]New value: +[
      +  "string",
      +  "null"
      +]
  53. Changed1 schema field changed
    • addedOutput schema / properties / storages / properties / datasets / properties / default / properties / itemsSchema
      Added value: +{
      +  "description": "JSON Schema for rows in the dataset at `storages.datasets.default.id` — describes row shape only; the rows themselves are NOT returned inline in this response. Inferred from this Actor's historical successful runs. To fetch actual rows, call `get-dataset-items` with the dataset id and a `fields` projection drawn from this schema.",
      +  "properties": {
      +    "awardedCurrency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "awardedValue": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "buyerCity": {
      +      "type": "string"
      +    },
      +    "buyerCountry": {
      +      "type": "string"
      +    },
      +    "buyerName": {
      +      "type": "string"
      +    },
      +    "contractNature": {
      +      "type": "string"
      +    },
      +    "country": {
      +      "type": "string"
      +    },
      +    "cpvCodes": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "currency": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "deadline": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "description": {
      +      "type": "string"
      +    },
      +    "estimatedValue": {
      +      "type": [
      +        "null",
      +        "number"
      +      ]
      +    },
      +    "formType": {
      +      "type": "string"
      +    },
      +    "formTypeLabel": {
      +      "type": "string"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "language": {
      +      "type": "string"
      +    },
      +    "mainCpv": {
      +      "type": "string"
      +    },
      +    "noticeType": {
      +      "type": "string"
      +    },
      +    "noticeTypeLabel": {
      +      "type": "string"
      +    },
      +    "originalTitle": {
      +      "type": "string"
      +    },
      +    "pdfUrl": {
      +      "type": "string"
      +    },
      +    "placeOfPerformance": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    },
      +    "procedureType": {
      +      "type": [
      +        "null",
      +        "string"
      +      ]
      +    },
      +    "publishedAt": {
      +      "type": "string"
      +    },
      +    "scrapedAt": {
      +      "type": "string"
      +    },
      +    "source": {
      +      "type": "string"
      +    },
      +    "title": {
      +      "type": "string"
      +    },
      +    "url": {
      +      "type": "string"
      +    },
      +    "winnerNames": {
      +      "items": {
      +        "type": "string"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  54. First observed

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds cost information ("Pay per result" — the agent knows results are billable) and statefulness (incremental mode remembers the last run), neither of which the annotations convey. It correctly frames the tool as retrieving Actor output, consistent with openWorldHint=true. It does not clarify the odd destructiveHint=true annotation for what is effectively a data read, leaving some ambiguity.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Roughly three sentences, front-loaded with what the tool does and then the competing-use context. No filler, though the opening wrapper sentence ("calls the Actor ... and retrieves its output results") is boilerplate repeated across every Actor-backed sibling.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 12 parameters, a nested proxy object, and an output schema present, the description is adequate but thin: it never mentions the waitSecs/polling contract, the cost-per-result implications of maxResults, or that empty filters default to the last 7 days. The schema and output schema absorb most of that burden, keeping this at minimum viable rather than deficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema carries parameter meaning in detail (date bounds, CPV prefixes, keyword language behavior, waitSecs polling). The description adds only a light paraphrase of the main filters (keyword, country, CPV, date) plus the concept behind onlyNewSinceLastRun, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — calling the hexadatalabs/eu-tenders-ted-scraper Actor and returning EU TED tender notices (contract notices and awards with buyer, deadline, value and link). The topical scope makes it clearly distinguishable from the sibling scrapers (Mexico directory, OCC jobs, SAM.gov, UK Companies House, etc.) without needing to name them explicitly. It stops short of 5 only because the framing sentence is generic wrapper boilerplate before the substantive actor description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use this when you need public tenders from the EU's TED ... by keyword, country, CPV code and date" gives a clear positive trigger, and "incremental mode for daily runs" signals the scheduled-run case. There are no explicit when-not conditions or named alternatives, so it falls short of a full routing rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.