Public procurement data · Database guide
Government contracts database: opportunities, awards and suppliers.
Learn how government contract opportunities, awards and supplier data connect, which official US, UK and EU sources to use, and how to avoid false totals.
A government contracts database is a connected, versioned record of what public bodies may buy, what they decided to award, what they actually contracted or obligated, and which legal entities supplied it. Opportunities, awards, contracts, transactions, and suppliers answer different questions. Putting them in one flat table without preserving those differences creates false matches and inflated totals.
There is no single worldwide source that contains every layer. In the United States, SAM.gov Contract Opportunities, SAM.gov Contract Awards, USAspending, and SAM.gov Entity Information have distinct roles. In the United Kingdom, Find a Tender is now the central publication service for new-regime procurements while Contracts Finder remains important for legacy processes. Across the European Union, Tenders Electronic Daily (TED) is the EU-level notice service, with national portals still needed for broader below-threshold coverage.
The scale is substantial. TED says it publishes more than 3,000 procurement notices each weekday in 24 official EU languages. The European Commission describes roughly 800,000 notices across more than 250 annual OJ S issues, with an estimated value above €815 billion. USAspending says its complete downloadable database is larger than 1.5 terabytes. Those numbers describe volume, not completeness: publication thresholds, legal exceptions, reporting delays, source transitions, and data-quality limits still define what can be observed. (About TED; European Commission: Tenders Electronic Daily; USAspending database download)
What a government contracts database actually contains
Begin with the question the data must answer.
- What could we bid on? Use active opportunity, tender, solicitation, planned-procurement, and market-engagement notices. Preserve the response deadline, status, lots, set-asides, classifications, place of performance, attachments, and every material amendment.
- Who was selected? Use award or result notices. Record whether the notice represents a decision, an intended award, a concluded contract, or another source-defined stage.
- What was signed and changed? Use contract, order, call, modification, option, and termination records. A procurement vehicle and an order placed under it are different commercial objects.
- How much money was committed or paid? Use transaction-level financial records. A reported award value, contract ceiling, obligation, and outlay are not synonyms.
- Who is the supplier? Use the supplier identifier and legal name reported with the record, then enrich from an appropriate entity or company register without overwriting the historical fact.
The word award is particularly dangerous. A SAM.gov opportunity can have an “Award Notice,” but that remains a notice rather than the complete history of federal contract actions. A UK6 contract award notice identifies an intention to enter into a contract before signature. A framework award can name several suppliers without allocating the full framework value among them. The database therefore needs an explicit lifecycle stage and record grain, not a generic award = true flag.
The practical test is simple: if the same row is being used to answer “what is open?”, “who won?”, and “how much was paid?”, the model is probably collapsing facts that should remain separate.
Model the procurement lifecycle before you collect
Opportunity
What might be bought?
Planning notices, sources-sought notices, tenders, solicitations, deadlines, lots, classifications, and amendments.
Award decision
Who was selected?
Result or award notices, selected bidders, reported values, decision dates, and standstill or intent-to-contract status.
Contract & actions
What was signed and changed?
Executed contracts, orders, modifications, obligations, de-obligations, options, performance dates, and termination.
Supplier identity
Which legal entity performed?
Persistent identifiers, legal names, parent relationships, registrations, classifications, locations, and evidence dates.
The stages are related, but they are not interchangeable. A procedure can have many notice versions, lots, awards, suppliers, contracts, and financial actions.
Treat the database as a graph with controlled relationships:
- one procurement procedure can publish many notices;
- one notice can have many editorial versions and amendments;
- one procedure can contain many lots;
- one lot can produce no award, one award, or several awards;
- one award or contract can name one supplier, a consortium, or several suppliers;
- one contract can generate many orders, modifications, obligations, and de-obligations; and
- one legal entity can appear under different names over time or belong to a changing corporate parent.
Preserve the source relationship when it exists. An EU eForms procedure UUID or a UK Open Contracting ID (OCID) is stronger than a name-and-date match. A US solicitation number can help connect an opportunity to an award, but it is nullable and is not guaranteed to be a unique one-to-one key. The Procurement Instrument Identifier (PIID) identifies the procurement instrument; modification and transaction numbers distinguish reported actions, while referenced-IDV fields connect orders or calls to their parent vehicles. (FAR 4.001; Contract Awards API)
Assign every cross-source link a method and confidence:
- declared: the source supplies the relationship or parent identifier;
- exact: stable identifiers agree across the records;
- reconciled: several compatible fields support a deterministic rule;
- candidate: fuzzy names, dates, values, or text suggest a possible link; or
- unlinked: no defensible relationship is available.
Do not silently promote a candidate to an exact relationship. Coverage can be reported honestly even when some opportunity-to-award links remain unresolved.
| Market | Opportunity source | Award and contract source | Primary linking identifiers | Boundary to remember |
|---|---|---|---|---|
| United States | SAM.gov Contract Opportunities | SAM.gov Contract Awards; USAspending for transaction and financial context | UEI; PIID for awards | Opportunity, award-action, spending, and entity records remain separate source layers. |
| United Kingdom | Find a Tender for procurements begun from 24 Feb 2025 | Find a Tender lifecycle notices; Contracts Finder for legacy processes | PPON or accepted registry identifier; OCID for the process | UK6 records intent before signature; UK7 records the signed contract. |
| European Union | TED competition notices | TED result and contract-award notices | Official organisation identifier where supplied; procedure UUID in eForms | TED is principally the EU-level notice layer; national systems are still needed for broader below-threshold coverage. |
United States: SAM.gov and USAspending
The US federal data landscape has four complementary official layers. Use the layer that matches the question rather than treating one portal as a complete federal contracts database.
Opportunities: SAM.gov Contract Opportunities
SAM.gov Contract Opportunities publishes notices from federal contracting offices, including presolicitations, solicitations, combined synopsis/solicitations, sources sought, special notices, justifications, and award notices. Anyone can search the website without an account; saved searches, followed opportunities, and other workspace features require sign-in.
The public Contract Opportunities API requires an API key. It requires a posted-date window of no more than one year, permits up to 1,000 records per page, and returns the latest active version. GSA documents daily updates for active notices and weekly updates for archived notices. Full version history belongs in the SAM.gov Data Services extracts, so an API pipeline that stores only the latest response cannot reconstruct amendments after the fact.
Opportunity coverage is not every federal purchase. The current Federal Acquisition Regulation generally requires proposed contract actions expected to exceed $25,000 to be synopsized through the governmentwide point of entry, while the regulation also defines exceptions for circumstances such as urgency, national security, some orders under existing contracts, and specified overseas actions. (FAR 5.101; FAR 5.202)
Useful opportunity fields include the notice ID, solicitation number, agency hierarchy, notice type, posted and response dates, active or archive status, set-aside, NAICS and product or service classification, place of performance, points of contact, description, attachments, related notice, and any reported award object. Store notice versions separately because deadlines, requirements, set-asides, and attachments can change.
Contract actions: SAM.gov Contract Awards
Public-facing Federal Procurement Data System functions have moved into SAM.gov; FPDS ezSearch was decommissioned on 24 February 2026. Current users should search and retrieve federal contract-award data through SAM.gov Contract Awards and its official API rather than design a new workflow around the retired FPDS interface. The web search requires a SAM.gov account. The revealed-data API requires a SAM.gov account and API key; GSA documents a limit of 10 daily requests for personal keys without a role, so production access should be planned rather than assumed. (SAM.gov FPDS transition; Contract Awards API)
Contract Awards includes definitive contracts, purchase orders, task and delivery orders, calls, and indefinite-delivery vehicles, together with modifications. The API also exposes Other Transaction agreements, orders, and vehicles; label or filter those separately because the FAR does not define them as contract actions. High-value fields include PIID, modification and transaction numbers, referenced parent-vehicle PIID, solicitation ID, signing and performance dates, action obligation, cumulative obligation, current and potential values, competition method, offers received, NAICS, product or service code, set-aside, place of performance, and awardee identity. (FAR 4.601; Contract Awards API)
The FAR generally requires reporting for unclassified contract actions above the applicable micro-purchase threshold and for modifications that change reported data. As of this article’s publication date, the general micro-purchase threshold is $15,000, with different thresholds for specified categories and circumstances. Use threshold-neutral coverage language in a reusable dataset rather than assuming one value applies to every action. (FAR 4.603; FAR 2.101)
The public revealed API includes records without the Defense delay when either the funding or awarding subtier is civilian. Records both funded and awarded by the Department of Defense are withheld until their signed date is at least 90 days old. That boundary matters for “latest award” products and agency comparisons. Its synchronous JSON result set is capped at the first 400,000 matches, while asynchronous extracts can reach the first 1,000,000; large historical workloads therefore need bounded partitions and reconciliation rather than one unqualified query. (Contract Awards API)
Money and transaction history: USAspending
USAspending combines procurement transactions with federal financial-account information. Procurement data arrive as File D1; agency financial systems provide File C. Successful linkage through the shared award key adds Treasury account, program activity, object class, outlay, and other financial context to contract records. Unlinked records can legitimately lack one side of that picture. (USAspending data sources; USAspending data-sources guide)
Its measures must remain distinct:
federal_action_obligationis the change created by one transaction;- total obligated amount rolls transactions into the award summary;
- an obligation is a government promise to spend, not proof of payment;
- an outlay is a payment; and
- a negative obligation is a de-obligation, not a bad row to discard.
The USAspending API does not require authorization and supports advanced award search, award details, transactions, recipients, subawards, and bulk downloads. Its data extend to fiscal year 2001, but reporting requirements have changed; recent years are generally more complete, Advanced Search begins at fiscal year 2008, financial-account data begin in fiscal year 2017 Q2, and some earlier outlay reporting is incomplete. Historical scope should therefore be a field in the analysis, not an unspoken assumption. (USAspending data-sources guide; USAspending about-the-data guide)
Supplier registration: SAM.gov Entity Information
SAM.gov Entity Information can add the legal name, 12-character Unique Entity ID (UEI), CAGE code, registration status and dates, addresses, entity and organization types, business and socioeconomic classifications, NAICS codes, and selected public points of contact. Its Entity Management API requires an API key and exposes public, unclassified entity fields.
This is current entity information, not a timeless truth about the supplier. Preserve the name, address, identifier, and classifications reported on the historical contract record beside any current registration snapshot. Some entities or fields are not publicly displayed, and sensitive tax, banking, security, revenue, and contact data are not a public supplier directory. Use UEI for the legal-entity join, ultimate-parent UEI for a separately labeled corporate-family view, and retain DUNS only for historical matching before the UEI became authoritative in April 2022. (GSA: Unique Entity ID transition)
United Kingdom: Find a Tender and Contracts Finder
The UK source boundary changed on 24 February 2025. The enhanced Find a Tender service became the central digital platform for procurements under the Procurement Act 2023. New-regime above- and below-threshold notices are published there, subject to the rules and territorial exceptions. Contracts Finder remains relevant primarily for procurements begun under the earlier Public Contracts Regulations, including later activity on some legacy frameworks and dynamic purchasing systems. New Procurement Act notices do not need to be duplicated there. (Central digital platform factsheet; Contracts Finder transparency guidance)
Current 2026–27 above-threshold values include VAT: £135,018 for central-government goods and services, £207,720 for sub-central goods and services, £415,440 for non-works utilities contracts, and £5,193,000 for works and concessions. Light-touch thresholds are £663,540 outside utilities and concessions, £884,720 for utilities, and £5,372,609 for concessions. These figures identify the applicable regulatory route; they do not mean every record below them is absent or every purchase above them produces the same notice sequence. (UK procurement thresholds guidance)
For notifiable below-threshold contracts, the general values are £12,000 including VAT for central government and £30,000 for other contracting authorities. Even then, “below threshold on Find a Tender” is not “every small purchase.” Exemptions and scope rules apply, and a UK4 tender notice is required only when the authority chooses to advertise. A UK7 contract details notice may be the first public notice for a below-threshold procurement. (UK below-threshold contracts guidance)
Read the notice type before counting an award
Find a Tender describes a lifecycle from pipeline and market engagement through tender, award, contract, performance, change, and termination. Two stages must not be merged:
- UK6 contract award notice: published after the award decision but before the contract is signed; it normally begins the standstill period.
- UK7 contract details notice: published after the contract is entered into and therefore represents the signed-contract stage.
For most above-threshold public contracts, UK7 is due within 30 days of the contract being entered into; the light-touch period is 120 days. A database that labels both UK6 and UK7 as completed awards will double-count some procurements and prematurely count others. (Find a Tender notice types; UK contract award and standstill guidance; UK contract details guidance)
Find a Tender exposes public data mapped to Open Contracting Data Standard 1.1.5. The release-package endpoint can be filtered by update dates and stage, with a maximum page size of 100 and cursor pagination. The record-package endpoint assembles releases sharing an OCID. Preserve the OCID as the procurement-process key, the release ID within that process, notice identifiers, party identifiers, and the raw source notice. (UK open contracting guidance; Find a Tender release-package documentation)
Public notices can include a supplier’s Procurement Act registration identifier (PPON) or an accepted official registry identifier. That does not make the central platform’s full supplier profile public: core supplier information is shared with buyers selected by the supplier, while the public sees the information published in notices. For notices published from 1 April 2026, identifiers became mandatory for suppliers in notifiable below-threshold contract-details notices outside Welsh-regulated procurement, where they were already required. (Central digital platform publication guidance; 2026 legislative requirements)
European Union: TED and eForms
Tenders Electronic Daily is the online Supplement to the Official Journal of the European Union. It carries planning, competition, result, direct-award preannouncement, modification, and change notices submitted under EU procurement rules. Above-threshold publication is mandatory in scope, while some countries voluntarily submit below-threshold notices. TED is therefore a major EU opportunities and awards database, not a complete database of every public purchase in every member state.
Current 2026–27 headline thresholds, based on estimated value net of VAT, are €140,000 for central-government supplies and services, €216,000 for sub-central supplies and services, €432,000 for utilities supplies and services, and €5,404,000 for works. Procurement rules and special categories still determine the exact application. (TED: European public procurement; Directive 2014/24/EU, Article 5)
An eForms notice has a UUID notice ID and an incrementing version ID. Where present, a globally unique procedure UUID links notices within the procedure; some planning notices precede that identifier. Lots, tenders, contracts, and organisations use their own technical references. Organisation references such as ORG-0001 are local to a notice; they are not cross-notice company identifiers. Where supplied, the organisation identifier business term can carry an official EU or national registration number and scheme. (TED eForms schema; eForms Organisation Identifier)
Result notices can report the winner, tendering party, contract conclusion date, value, and subcontracting facts. For public contracts governed by Directive 2014/24/EU, authorities send a contract award notice no later than 30 days after concluding the contract or framework, and the Publications Office publishes notices no later than five days after they are transmitted. Permitted withholding and incomplete source fields mean a missing winner is not proof that there was no award. (Directive 2014/24/EU, Articles 50–51; eForms notice content)
For reuse, the anonymous TED Search API supports expert queries over published notices. Conventional pagination reaches at most 15,000 results with up to 250 notices per page; iteration or scroll is the documented route for all matching results. TED also publishes daily and monthly XML packages, direct XML or PDF notice downloads, a CSV subset, and RSS feeds. Use bulk packages for durable history and the API for bounded discovery or incremental retrieval. (TED Search API limits; TED developers’ corner)
Historical ingestion needs more than a current eForms parser. Legacy TED XML and eForms overlapped during the transition, older notices lack the global procedure UUID, and source formats do not expose identical fields. Exact lifecycle reconstruction may therefore require previous-notice references and explicitly labeled reconciliation. Keep original values and currencies, retain corrections rather than deleting history, and expose missing-winner or uncertain-link flags instead of manufacturing a complete graph. (TED developers’ corner; TED eForms schema)
Build supplier data without creating false identities
A government supplier database should answer two different questions:
- Which supplier did this source record name at that time?
- What do we currently know about that legal entity and its corporate family?
Never replace the first answer with the second. A company can change name, address, registration status, classification, or parent. The historical record must remain reproducible even after enrichment changes.
Use the strongest identifier available for the market:
- United States: UEI for the legal entity; ultimate-parent UEI for a separately labeled parent rollup; CAGE as a distinct identifier; DUNS for historical records only.
- United Kingdom: PPON or the accepted official registry identifier published with the party; OCID links the procurement, not the company.
- European Union: the official organisation identifier and its scheme where supplied; a notice-local organisation reference cannot identify the company across notices.
Preserve the raw name, normalized display name, identifier scheme, identifier value, source, effective or observed date, and matching method. Name normalization can remove harmless punctuation or legal-suffix variation, but it should generate candidates rather than silently merge entities. “ABC Ltd,” “A.B.C. Limited,” and a similarly named subsidiary may or may not be the same legal supplier.
Model supplier roles as many-to-many relationships. A notice can name a consortium, consortium members, subcontractors, or multiple framework suppliers. The Open Contracting Data Standard associates suppliers with awards and allows more than one supplier; it does not imply that the reported award value is divided equally among them. (OCDS buyers and suppliers guidance)
Finally, separate a supplier universe from a supplier activity list. Registered entities are not proof of awards. Named awardees are not proof of active registration. Interested vendors are not winners. Decide which population the product represents and label it plainly.
Use a schema that preserves source grain
A durable internal model uses related tables or equivalent objects rather than one universal row:
procedure
├── notice_version
├── lot
│ └── award
│ ├── contract
│ │ └── contract_action
│ └── party_role → party
└── relationship_evidence
The exact implementation can vary, but each layer needs a stable source key, canonical internal key, source URL, jurisdiction, source system, record grain, lifecycle stage, first-seen and last-seen timestamps, source-published and source-updated timestamps, ingestion timestamp, version, and content hash.
Organize the remaining fields into explicit groups:
- Procedure and notice: procedure ID, notice ID and version, solicitation number, title, description, notice type, stage, status, amendment or cancellation, related notice, and response deadline.
- Buyer and location: buyer identifier and name, agency hierarchy, buyer country and region, place of performance, and contact fields permitted for reuse.
- Commercial structure: lot, award, contract, order and parent-vehicle identifiers; award and signature dates; performance dates; options; competition method; offers; and set-aside.
- Money: reported notice value, award value, ceiling or potential value, action obligation, cumulative obligation, outlay, currency, value basis, tax basis where known, and source grain.
- Classification: CPV, NAICS, product or service code, and their schemes and versions. Do not place different classification systems into one unlabeled category field.
- Parties: raw and normalized names, identifier scheme and value, role, consortium relationship, parent relationship, location, registration snapshot, and identity-confidence rule.
- Provenance and quality: source URL, source file or release, retrieval method, license or usage note, parse status, missing-field flags, link method, and validation result.
A flat CSV can still be useful for delivery, but it should state its row grain and carry the identifiers needed to deduplicate. Keep the normalized model behind it so one supplier-per-row or one action-per-row exports do not become the canonical truth.
Calculate opportunity, award and supplier metrics correctly
One award, many suppliers
A £10m award repeated on four supplier rows still represents £10m unless the source allocates a value to each supplier.
One contract, many actions
Base actions, modifications, positive obligations, and de-obligations form a history. The latest row is not automatically the total.
One vehicle, many orders
Do not add an IDV or framework ceiling to every task order or call. Parent capacity and child awards measure different grains.
Decision versus execution
A selected bidder or intent-to-award notice is not always a signed contract. Preserve the source stage before counting completed awards.
Define a metric’s population, stage, grain, date, and value before calculating it.
Open opportunities
Count the latest accepted version of each opportunity at a stated cutoff. Apply source-specific status, response deadline, cancellation, and amendment rules. “Published this month” and “open at month end” are different measures. A notice can remain technically active after the useful response window or be replaced by an amendment, so the source’s lifecycle fields and your cutoff policy both matter.
Award and contract value
Choose one value per canonical award or contract at the required stage. If a £10 million framework award names four suppliers and the export repeats £10 million on four supplier rows, the distinct award total remains £10 million unless the authority reported supplier allocations. Deduplicate on the source, source notice, and source award or contract key before summing.
Do not mix a vehicle ceiling with orders placed under it. Do not call potential value obligated spend. In US transaction analysis, sum positive and negative action obligations according to the time window and use the award summary only when the question asks for the rolled-up total. In UK data, count UK7 when the measure is signed contracts and label UK6 separately as intended awards.
Supplier rankings and concentration
Rank legal entities by exact supplier identifier where possible. Show unmatched and low-confidence shares. Decide whether the view is legal-entity level or ultimate-parent level and never mix them in the same ranking. A merger, parent change, consortium, or missing identifier can materially alter concentration results.
State whether the denominator includes no-award procedures, missing supplier records, multi-supplier awards, direct awards, and records without usable values. A concentration chart without its unresolved-identity rate can appear more certain than the data supports.
Cross-market comparisons
Retain original currency and value basis. Convert only in a separate analytical field with the exchange-rate source and date. Thresholds, publication duties, award stages, tax treatment, and reporting lag differ by jurisdiction, so a raw count per country is not automatically a procurement-activity ranking.
Choose search, API, bulk data or a normalized feed
Use the lowest-complexity route that can answer the recurring question.
- Official search interfaces are best for one-off discovery, reading the complete notice, inspecting attachments, and verifying a record before action.
- Official APIs suit repeatable filtered retrieval and incremental updates, provided the workflow respects pagination, date windows, rate limits, version behavior, and documented data-use terms.
- Official bulk packages suit historical backfills, amendment retention, reproducibility, and large reconciliations. They require more storage and source-specific parsing.
- A normalized feed or warehouse suits recurring cross-source search, alerts, supplier intelligence, trend analysis, and delivery into analytics or product systems. It adds responsibility for harmonization, provenance, monitoring, and source reconciliation.
Use official machine-readable routes rather than scraping the search interface where they exist. SAM.gov’s terms expressly prohibit automated web scraping and direct users toward its APIs and extracts. TED provides search and bulk reuse routes, while Find a Tender exposes public OCDS releases and records. (SAM.gov Terms of Use; TED reuser documentation; Find a Tender developer documentation)
WebTruffle’s government tenders and RFP dataset provides daily normalized notice editions from SAM.gov, TED, Find a Tender, and Contracts Finder. The separate government contract awards dataset provides daily EU and UK award-stage notices and named suppliers from TED, Find a Tender, and Contracts Finder. The awards edition does not contain US contract actions, and the two daily editions are not presented as one automatically joined historical database. Historical archives, broader coverage, enrichment, APIs, and opportunity-to-award reconciliation require a defined custom scope.
Whatever route you choose, keep the official record authoritative. A normalized row improves usability; it does not replace the source notice, signed contract, or official transaction record.
Evaluate a government contracts dataset
Ask the provider or internal owner to answer these questions with examples and evidence:
- Which jurisdictions, authorities, thresholds, notice types, and date ranges are in scope? “Government contracts” is not a coverage definition.
- What does one row represent? A notice version, current opportunity, lot, award, award-supplier pair, contract, action, or supplier?
- How are stages mapped? Can users separate open tender, award decision, intended contract, signed contract, modification, and payment?
- Is history preserved? Can the dataset reconstruct changed deadlines, corrected values, cancellation, supplier changes, and deleted or archived records?
- Which source identifiers survive normalization? Require notice, procedure, lot, award, contract, parent vehicle, action, buyer, and supplier keys where the source exposes them.
- How are cross-source links created? Inspect exact, reconciled, candidate, and unresolved examples. Demand confidence and method fields.
- How are values made safe to aggregate? Check multi-supplier rows, framework ceilings, orders, options, obligations, de-obligations, outlays, tax basis, and currency.
- What does “daily” or “real time” mean? Distinguish source publication, source update, collector run, accepted edition, and delivery time. Measure each lag.
- How are missing and malformed source facts handled? Blank is often more honest than an invented zero, currency, date, winner, or identifier.
- What provenance is delivered? Require source URL, source record or package, retrieval time, source version, content hash, manifest, and applicable usage terms.
- What happens when one source fails? A file can arrive on schedule while a country or notice stage is absent. Require source-level counts, status, quarantine, replay, and incident evidence.
- How can a user verify a decision? The normalized record should lead back to the official notice or transaction and retain enough raw evidence to explain the mapping.
Apply measurable completeness, validity, freshness, duplicate, and source-fidelity rules from the web scraping data-quality framework. For a recurring feed, monitor source coverage and accepted data—not only whether a collector ran—using the data-feed monitoring runbook.
The right government contracts database is not the one with the largest unexplained row count. It is the one that makes its coverage, lifecycle stages, identities, financial measures, uncertainty, and source lineage clear enough for a user to make a decision without mistaking a notice for a contract or an award value for paid spend.
Frequently asked questions
What is the best government contracts database?
There is no single best source for every question. For US federal opportunities, start with SAM.gov Contract Opportunities. For US contract actions, use SAM.gov Contract Awards; add USAspending for transaction, obligation, outlay, and federal-account analysis, and SAM Entity Information for current supplier registration data.
For new Procurement Act 2023 notices, use Find a Tender, subject to territorial exceptions, and retain Contracts Finder for legacy procedures. For EU-level notices, use TED and add national sources when broader below-threshold coverage is required. A normalized database becomes useful when the task needs recurring cross-source search, common fields, history, or delivery.
What is the difference between a government contract opportunity and an award?
An opportunity describes a possible purchase and the route or deadline for suppliers to respond. An award or result identifies a selection or procurement outcome. A contract record represents the executed agreement, while transactions or modifications show later financial and commercial changes.
The exact stage is source-specific. In the UK, UK6 is an intention to contract before signature; UK7 follows contract entry. In the US, an Award Notice inside Contract Opportunities is not the complete Contract Awards action history.
Can award data be used as a government contractors list?
Yes, if it is labeled as a list of suppliers named on award records within a defined market and period. It is not a complete list of all registered, eligible, interested, or active government suppliers.
Use persistent identifiers where available, preserve multi-supplier and consortium roles, state the unresolved-identity rate, and keep current entity enrichment separate from the historically reported awardee facts.
Can opportunities be joined automatically to contract awards?
Sometimes, but not universally. UK OCIDs and EU eForms procedure UUIDs can provide strong lifecycle links when present. US solicitation identifiers and related-notice fields can support matching, but they can be missing, reused in complex structures, or fail to create a one-to-one relationship.
Store declared and exact links separately from reconciled or fuzzy candidates. Report the linked share and leave unresolved records visible rather than forcing complete coverage.
Why do government contract totals differ between databases?
The databases may count different stages, date fields, record grains, thresholds, currencies, or financial measures. One may sum reported award value, another obligations, and another outlays. Multi-supplier rows, modifications, de-obligations, vehicle ceilings, task orders, duplicate corrections, and parent-company rollups can also change the result.
Reconcile totals only after aligning source scope, cutoff date, lifecycle stage, canonical award key, value definition, currency method, and missing-record policy.
How current is government contract data?
Freshness depends on the source and stage. SAM documents daily active-opportunity updates and weekly archived updates. Contract actions both funded and awarded by the Department of Defense are withheld from the public revealed API until their signed date is at least 90 days old. UK and EU notices follow legal publication windows, but a legal deadline is not a zero-lag guarantee.
Measure at least the source publication time, source update time, collection time, accepted-edition time, and delivery time. State the slowest source and any partial-source failure beside the dataset’s headline refresh claim.