Skip to article

Procurement data · API comparison

Compare tender data APIs against the job you need done.

Compare official tender APIs, OpenOpps, Tenderlake, Tender Impulse and WebTruffle. Download a provider matrix, query specification and verified procurement sample.

Published September 7, 202611 min readBy Daniel

The right tender data API is the one that supplies the records your product needs, preserves their meaning when they change, and fits the way your team operates. Start with official APIs when their coverage is sufficient and you can maintain the ingestion. Evaluate a commercial provider when you need broader collection, useful enrichment, or less source-by-source engineering. Consider a managed feed when you need someone to operate an agreed delivery into your system.

This guide compares TED, Find a Tender and SAM.gov with OpenOpps, Tenderlake, Tender Impulse and WebTruffle. It includes a downloadable provider matrix, a specification you can give each provider, and a reproducible WebTruffle sample that illustrates a common evaluation mistake: counting every category match as an open tender.

Method and disclosure: WebTruffle publishes this comparison and sells managed data feeds. We reviewed the linked public documentation on September 7, 2026. We downloaded and checked the pinned WebTruffle file described below. We did not run authenticated trials of the commercial APIs or measure their relative completeness, speed or accuracy. “Confirm” identifies an unanswered evaluation question, not a missing feature.

Which tender data API fits your product?

For a narrow product, the official source can be the best starting point. A UK notice-monitoring tool and a global procurement search product have very different collection requirements. Write down the sources, stages and delivery you need before paying for a wider catalogue.

  • Use an official API when its publication scope fits the application and your team can own collection, normalization, changes and recovery.
  • Evaluate a searchable commercial API when users need to explore a broader collection with different filters and queries.
  • Evaluate a matched-notice feed when a stable set of business interests should determine what enters an internal pipeline.
  • Evaluate managed delivery when the important outcome is an agreed table or event feed arriving in your warehouse, CRM or application on schedule.

These are different responsibilities to buy. An API subscription may give your engineers access to data while leaving the integration and monitoring with your team. A managed delivery should spell out which of those responsibilities the supplier takes on.

The separate official tender-source comparison explains jurisdiction and publication scope in detail. Here, the question is which delivery option fits a product built on those records.

Compare the providers and official APIs

The table shows the delivery model and the first issue to resolve for each option. The downloadable matrix adds history, documents, limits, pricing evidence and a source link for every row.

Public documentation checked September 7, 2026. Commercial-provider capabilities below are published claims, not measured comparative results.
ProviderPublished coverageDelivery modelResolve before choosing
TED Search APINotices published on TEDUnauthenticated search; XML retrievalRequired national coverage beyond TED
Find a Tender OCDSNotices published on Find a TenderOCDS release and record packagesLegacy and devolved source requirements
SAM.gov Opportunities APIUS federal opportunity noticesAPI key; paginated JSON searchRole allowance and version-history retrieval
OpenOppsAdvertises 900+ sources, 180+ countriesSearchable structured records; Expert-tier APIReplay, amendment semantics, volume and redistribution terms
Tenderlake MonitorUK/EU/EEA; US/Canada federal coverage advertised as add-onAI Search matches as JSON; stable IDs and date filtersUnfiltered export, matched-history access and usage rights
Tender ImpulseGlobal tender and award feeds; confirm exact source listBearer auth; encrypted responses; lastid/fetchid pagingRecovery after failure and corrections to older notices
WebTruffleBounded collection from TED, SAM.gov, Find a Tender and Contracts FinderPublic CSV/JSON/JSONL releases; scoped managed feedsSource coverage, freshness, custom fields and delivery acceptance

Treat a large source count as a reason to inspect the source list. Ask whether your named buyers, categories and notice stages are covered, and whether that coverage includes the dates your product needs. Two services can both cover a country while collecting different national, regional or buyer-hosted portals.

For official routes, TED's Search API provides unauthenticated access to published notices and XML retrieval. UK Open Contracting guidance documents Find a Tender's OCDS outputs. SAM.gov's Opportunities API requires a key, supports up to 1,000 records per page, and applies daily allowances by user role. Its documentation distinguishes the latest active opportunity version from other versions available through Data Services.

Our implementation guides cover TED, Find a Tender and SAM.gov when you decide to build against those sources directly.

Give every provider the same workload

Use a small, explicit specification before asking for a demo. For this guide, the example is a daily IT-services data feed for a UK and EU procurement intelligence product.

The request has six parts:

  1. Sources: TED and Find a Tender, with Contracts Finder included where the application needs legacy coverage. Keep each source identifiable.
  2. Category: supplied CPV codes beginning with 72, including main and additional codes. Keep inferred classifications separate. Review matches for relevance.
  3. Publication window: August 26 through September 1, 2026, expressed as a UTC interval ending immediately before September 2. Document handling of date-only values.
  4. Record meaning: retain each source notice version and its lifecycle stage. Produce opportunity candidates separately from awards, planning notices and contracts.
  5. Output: CSV or JSONL with source IDs and URLs, buyer, title, stage, status, classification, publication/update/deadline fields, value, currency and document links. Include a schema and release metadata.
  6. Operation: agree a five-business-day trial, a daily delivery deadline and a 30-day backfill requirement. Test a real amendment and recovery from one failed batch.

The JSON specification is a request for equivalent outputs, not a request body that works unchanged against every API. A provider should translate it into its own query or delivery configuration and explain any differences.

For US federal coverage, define a separate SAM.gov lane with its own notice types and NAICS or PSC filters. A CPV prefix is not a universal cross-market category mapping.

Keep one small manually checked set of expected source notices. Then ask each supplier to explain matches, omissions, duplicate publications and records outside the requested scope. This gives a useful comparison even before you can measure completeness across a whole market.

How the delivery model changes your integration

OpenOpps: query the collection

OpenOpps documents searchable records with a limit of 100 per request and up to 10,000 per query. It says collection runs twice daily, with most records appearing within 24–48 hours of source publication. Test how that stated timing fits your deadline-sensitive workflow, and how you partition a larger backfill.

Tenderlake: configure the matching upstream

Tenderlake Monitor delivers notices matched to configured AI Searches. It advertises stable IDs, date filters and above-threshold history back to 2012. That model is worth evaluating for an internal opportunity pipeline. Confirm the access you need if your application requires an unfiltered archive or independently defined selection rules.

Tender Impulse: make batch recovery explicit

Tender Impulse documents encrypted responses and lastid/fetchid paging. Its guidance warns against advancing the stored cursor before a batch has been processed. Make failure recovery a trial task: stop after receiving a batch, restart, and verify how the agreed recovery mechanism prevents missing records. Ask separately about corrections to earlier notices.

WebTruffle: inspect the files, then define the operated delivery

WebTruffle's public tender dataset provides downloadable releases. The free publication already includes observed-history and change products; those features alone do not define the paid offer. A managed engagement adds an agreed collection scope, schema, checks, delivery and maintenance responsibility.

The public dataset is a bounded collection. It is not a promise of complete coverage of the four source systems. Before a recurring commitment, use a sample to establish the required sources, fields and destination, following the custom data feed guide.

217 IT records does not mean 217 open tenders

We downloaded the September 1 WebTruffle release, generated on September 2 at 13:25:55 UTC, and verified tenders.csv against its manifest. The file contains 4,160 rows. Selecting rows where any normalized cpv_codes entry starts with 72 produces 217 records.

Their normalized stages are:

  • 109 awards
  • 93 opportunities
  • 7 contracts
  • 6 other records
  • 2 planning records

The selection includes 197 TED records, 13 Contracts Finder records and 7 Find a Tender records. These are counts within one published daily file. They do not measure the providers' comparative coverage, the full seven-day workload above, or the number of live tenders available today.

Even the 93 opportunity-stage rows need deadline, status and relevance checks before they become actionable candidates. A useful sample preserves the fields that let your application make those decisions.

This is why a provider returning “more IT records” has not yet demonstrated that it supplies more of the opportunities your application needs. Ask what each row represents and compare the same stages and time window.

Download the sample CSV, its receipt and source terms, and the Python reproduction script. The script uses Python 3.10+ and the standard library. It downloads the pinned file, verifies its bytes and SHA-256, applies the category filter, and writes the sample and counts locally.

python reproduce.py --output-dir tender-api-evaluation

The input CSV's SHA-256 is:

37ccad60bd020673c785d4c6c0b6b0af54efdbecde5a8dfc7df63efbc5b8d75c

Freshness is a separate check. On September 7, the repository's latest public release still pointed to September 1. This sample is suitable for a reproducible format and selection exercise; it is not evidence of a current daily delivery. An evaluation of WebTruffle should require an up-to-date sample and evidence for the delivery cadence being offered.

Test history, updates and document access

“Historical data” needs a concrete definition. Your product might need the current version of an old notice, every published amendment, or everything a collector observed over time. Those can produce different answers to the same question.

Ask for one older notice with a known change. Compare the original deadline, the amended deadline, the notice identifiers, and the timestamps identifying when the source and provider changed their records. Check whether the history preserves the distinction between a source change and a new observation of unchanged content.

Then repeat a delivery. Your importer should not create another opportunity simply because it sees the same record again. If a source publishes the same procurement through multiple portals, keep enough provenance to investigate the relationship before collapsing the records.

Document access needs its own test. A notice description, a link to a procurement portal, a downloadable PDF and extracted document text are four different outputs. Choose a small set of required documents, try retrieving them, and record missing files, access requirements and versions. Include the actual document requirement in the quote.

Finally, compare timestamps consistently. Source publication time, source update time, collection time and file-generation time measure different events. A file generated this morning can still contain old observations. Preserve those timestamps and measure the delay that matters for your application.

Compare price, trial access and usage rights

The reviewed commercial API pages did not provide a directly comparable price for our specified workload. Request a quote against the same sources, backfill, daily volume, fields and permitted use. A website's application trial should not be assumed to include API credentials or a useful export allowance.

Ask each provider to confirm:

  • Whether the trial includes the API, historical records and enough volume to exercise pagination.
  • Whether billing counts requests, returned records, unique notices, users or destinations.
  • Whether backfills, document bodies, translations or other enrichments cost extra.
  • What happens at an allowance limit, and what the overage or higher-volume plan costs.
  • Whether the agreement permits internal analysis, customer-facing display and the redistribution your product requires.

For WebTruffle, public files are free. The current offer starts at €750 + VAT for a paid pilot and €1,000/month + VAT for a managed feed, with final scope agreed separately. The pilot serves as the setup fee for that scope, with no second setup charge if the same scope continues as a managed feed. See the current offer.

A useful buying decision includes the engineering you still retain: authentication, source-specific normalization, warehouse loading, monitoring, missed-delivery recovery and schema changes. Write down who owns each task. That makes an API subscription and an operated feed comparable without pretending they are the same service.

Try the sample, then scope the recurring feed

Start with the downloadable sample and load it into the tool your team actually uses. Check that the columns support your selection rules and that its source links let you investigate ambiguous records. Keep a short list of missing fields, additional sources and delivery requirements.

If the official API meets the requirement and your team can maintain it, use that route. If the recurring collection and delivery are the work you want to hand over, use the same specification to request a managed feed. The sample becomes the starting point for concrete acceptance criteria.

Frequently asked questions

Can I use a free official tender API for a commercial product?

Start with the source's published reuse terms and your intended use. An openly accessible endpoint does not by itself establish that every linked document or third-party field can be redistributed. TED explicitly describes commercial data reuse among its API use cases. Confirm the applicable terms for the data your product will expose.

Does this comparison prove which provider has the most complete data?

No. It compares documented delivery models and provides a common evaluation specification. The measured sample comes from one WebTruffle release. A completeness comparison requires equivalent queries, a defined source population, the same cutoff and independently checked expected records.

What should I ask for before buying a tender data feed?

Ask for a representative sample, exact source scope, a field schema, history and amendment semantics, trial limits, usage rights and delivery responsibilities. Then run the sample through one real consumer workflow and agree how missing records and failed deliveries will be handled.