Skip to content

Methodology

Global procurement sources

Where the Global procurement datasets come from, what each source licenses, and exactly how its fields are mapped onto the QinMetrics model.

Updated Sep 2, 2026

Five official sources feed the first Global procurement datasets. Each is read through its public interface, stored as retrieved, and mapped onto the tender, contract and organisation records described in the entity model. Nothing is inferred: where a source does not publish a field, the field is empty, and where it does not publish a status, the status reads "Not stated".

Sources and licences

DatasetPublisher and interfaceLicence statement (retrieved 2026-09-02)
EU Public Procurement Notices (TED)Publications Office of the EU, TED Search API v3 (api.ted.europa.eu/v3/notices/search, anonymous)TED legal notice: "Unless otherwise noted, the procurement notices published in the Supplement to the Official Journal of the European Union can be freely reused, for commercial or non-commercial purposes."
US Federal Contract AwardsU.S. Department of the Treasury, USAspending API v2 (api.usaspending.gov/api/v2/search/spending_by_award/, no key)USAspending About page: "The data on this site is available to copy, adapt, redistribute, or otherwise use for non-commercial or for commercial purposes"; federal works are in the public domain (17 U.S.C. § 105).
UK Contracts Finder NoticesCabinet Office, Contracts Finder OCDS API (/Published/Notices/OCDS/Search, anonymous)Each OCDS package declares license: http://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/ (Open Government Licence v3.0).
UK Find a Tender NoticesCabinet Office, Find a Tender OCDS API (/api/1.0/ocdsReleasePackages, anonymous)Each OCDS package declares the Open Government Licence v3.0.
World Bank Contract Awards (IPF)World Bank Group, Finances One API (dataset DS00005, resource RS00005)Dataset page: "Creative Commons Attribution 4.0 International".

All five licences allow reuse with attribution, including commercial reuse. The source panel of every record names the publisher, the document URL, the retrieval time and the licence.

Retrieval

Each source is fetched in a dated window and stored unchanged in the raw archive with a SHA-256 digest and the request that produced it. A release is built from one complete run. The first releases use the window 2026-08-26 to 2026-09-01 (TED: publication date; USAspending: first transaction date of the award; Contracts Finder: publication date; Find a Tender: last-updated date). The World Bank table has no date filter, so the whole table is retrieved and the release keeps contracts signed on or after 2026-01-01.

USAspending's search endpoint reports no further pages after 10,000 rows even though later pages exist; pages are therefore read until a short page arrives, sorted by award identifier, and de-duplicated by the award's internal identifier. TED returns one row per notice, not per contracting process; a process with a contract notice and a later award notice appears twice, and the procedure-identifier attribute links the two.

Field mappings

TED

TED fieldQinMetrics fieldRule
publication-numbertender slugted-<publication-number>
notice-typestatuspin-*, qu-sy → planning; cn-*, subco → active; can-*, veat → complete; anything else → not stated
procedure-typemethodopen → open; restricted, comp-dial, comp-tend, innovation, neg-w-call, oth-mult → selective; neg-wo-call → limited; other codes are kept in attributes only
contract-naturecategoryworks → works; supplies → goods; services → services (most frequent value across lots)
main-classification-procclassificationscheme CPV, code as published; CPV labels are not supplied by the API
total-value / estimated-value-proc with their currencyvaluetotal value when published, otherwise the estimated value; original currency
deadline-receipt-tender-date-lottender period endearliest deadline across lots
contract-conclusion-dateaward dateearliest date across lots
organisation-name-buyer, buyer-identifier, organisation-country-buyerbuyerslug <country>-org-<identifier> when the notice carries a buyer identifier, otherwise <country>-org-n-<digest of the name>
buyer-legal-typeorganisation kindcga, ra, la, grp-p-aut → government; body-pl* → agency; pub-undert* → state-owned enterprise; int-org, eu-ins-bod-ag → international organisation; other → other
notice-title (English when present)titlethe original-language procedure title is kept as native title
winner-name, winner-identifier, winner-countryattributescontract records from TED award notices are planned for a later release

USAspending

USAspending fieldQinMetrics fieldRule
generated_internal_idcontract slugus-<identifier>
Awarding Sub Agency (+ code)buyerslug us-agency-<subtier code>, kind agency, parent = awarding agency (us-agency-<toptier code>, kind government)
Recipient Name, Recipient UEIsupplierslug us-uei-<uei> when a UEI is published, otherwise us-org-n-<digest of the name>; kind other (the endpoint does not state the business type)
Award Amountvalueobligated amount in USD as published
Base Obligation Datesigneddate of the base award
Start Date, End Dateperiodperiod of performance
NAICSclassificationscheme NAICS, code and description as published
PSCcontract typefirst character digit → goods; Y or Z → works; other letters → services; the PSC itself is kept in attributes
Descriptiontitlefirst 160 characters; the full text is kept as description
statusnot published by the source → not stated

Contracts Finder and Find a Tender (OCDS)

OCDS fieldQinMetrics fieldRule
ocidtender slug and ocidreleases of the same process within the window are merged, later releases overriding earlier fields
tender.status, tender.procurementMethod, tender.mainProcurementCategorystatus, method, categorysame codelists, copied without translation; a process with awards but no tender status is marked complete
tender.classification or the first item classificationclassificationscheme, code and description as published (CPV)
tender.value, tender.tenderPeriodvalue, tender periodas published
awards[]contractsslug = award id; supplier = first supplier (others in attributes); status pending/active/cancelled as published, unsuccessful → cancelled
contracts[].dateSignedsignedonly when the release publishes a contract block; the award date is kept in attributes
parties[]organisationsslug gb-<party id> (for example gb-coh-09621608), identifiers as published; buyers typed from the Find a Tender contracting-authority classification, suppliers with a Companies House number typed as private companies, charities as non-profits, others as other

World Bank

Finances One columnQinMetrics fieldRule
wb_contract_number, supplier_idcontract slugwb-<number>-<supplier_id>: the table has one row per contract and supplier, so a joint venture appears as several records sharing wb_contract_number
borrower_country_code, borrower_countrybuyer and jurisdictionbuyer slug wb-borrower-<country>, name "Country — World Bank borrower", kind government; regional borrowers such as "Western and Central Africa" (codes 3W, 3E, …) become wb-borrower-<code>, kind other, without a jurisdiction; World Bank codes ZR and GZ are read as CD and PS
supplier, supplier_id, supplier_country_codesupplierslug wb-supplier-<supplier_id>, kind other, jurisdiction = supplier country
supplier_contract_amount_usdvaluethe source's US-dollar figure
contract_signing_datesignedas published
procurement_categorycontract typeGoods → goods; Civil Works → works; Consultant Services → consulting; Non-consulting services → services
contract_descriptiontitlefirst 160 characters; the full text is kept as description
project_id, project_name, procurement_method, review_type, region, fiscal_yearattributesas published
statusnot published by the source → not stated

Jurisdictions

Every record carries the country of its buyer as a level-0 jurisdiction whose slug is the lower-case ISO 3166-1 alpha-2 code (de, us, gb). Names are the ISO short names. Sub-national jurisdictions are not resolved in these releases; NUTS codes and place-of-performance codes stay in attributes.

Known limitations

  • TED titles combine the country, the CPV label and the procedure title as TED formats them; descriptions are in the buyer's language.
  • USAspending recipients and World Bank suppliers are typed "other" because the interfaces used do not publish the legal form.
  • A buyer that publishes under several national identifiers (a VAT number on one notice, a register number on another) has one record per identifier until entity resolution links them.
  • Organisations are resolved within a source only. The same company appearing on TED and on Contracts Finder has two records until the harmonised layer (Global Public Procurement Data) links them.
  • Amounts are never converted; the Global line's aggregation currency (USD) is used only for source figures already published in USD.