Public Procurement Screening API — Spain, France, the United Kingdom, Ireland, Poland and Norway

GET /procurement/awards returns public-contract awards as published by each contracting body: Spain from PLACSP, the Plataforma de Contratación del Sector Público (open tenders and minor contracts alike), France from the consolidated DECP, the données essentielles de la commande publique, the United Kingdom from Contracts Finder and Find a Tender, and Ireland, Poland and Norway from TED, above the EU thresholds only. Query by company_id, nif (the supplier identifier as published: NIF, SIRET, Companies House number, CRO number, NIP or organisasjonsnummer), supplier name, buyer name, cpv code or a date range; at least one filter is required. country=ES, FR, GB, IE, PL or NO restricts to one country; omit it for all six. GET /companies/{id}?include=procurement attaches a Spanish company's ten latest awards to its profile. Updated daily from the official platforms.

What each row holds

One row is one award to one supplier: id, country, company_id, supplier_name, supplier_tax_id, buyer, buyer_id, subject, amount_eur, amount_contract_eur, amount_is_ceiling, amount_suspect, award_date, nature, is_framework, n_suppliers, contract_type, procedure, cpv, bids_received, sme, duration_months, file_reference, source_url — newest first, with keyset pagination via cursor. amount_eur is that supplier's share as published, before VAT where the source distinguishes it; amount_contract_eur is the whole contract, counted once however many suppliers hold it.

Scope limits

Six countries: Spain and France from their national platforms, the United Kingdom from Contracts Finder and Find a Tender, and Ireland, Poland and Norway from TED, above the EU thresholds only. Amounts published in pounds, złoty or krone are converted at the ECB annual average rate for the award year; currency keeps the published currency, and the United Kingdom publishes a value on part of its awards. A framework agreement or dynamic purchasing system publishes a ceiling, not spend, and the row says so with amount_is_ceiling; a published figure that is a form default rather than a price carries amount_suspect. Spanish minor contracts are awarded directly by law, so a single bid there is expected, not a red flag. France publishes the number of bids received for only part of its awards, so bids_received is null where it was not published. company_id is present only when the supplier's identifier resolves to a company record in that country — Spain, France and the United Kingdom today; Irish, Polish and Norwegian rows carry the published identifier without the link — and the award is returned either way. Awards to natural persons are never returned. No credit score, no financial statements, no risk score.

Use cases

Supplier due diligence: has this supplier won public contracts, from which bodies, how recently. Buyer concentration: compute how dependent a supplier is on one contracting body from the returned rows. Onboarding a public-sector customer: see what a given ayuntamiento, ministry, mairie or hospital awards and to whom. Linking to registry data: follow company_id to /companies/{id} for status and officers, then to /insolvency/search?country=FR for French collective proceedings or to /search for Spanish concursal notices.

Read more · Get a free API key

Frequently asked questions

What does the procurement endpoint cover?
Public-contract awards as published by each contracting body: Spain from PLACSP, the Plataforma de Contratación del Sector Público, open tenders and minor contracts alike, France from the consolidated DECP, the United Kingdom from Contracts Finder and Find a Tender, and Ireland, Poland and Norway from TED above the EU thresholds. GET /procurement/awards lists awards by supplier, buyer, supplier identifier, CPV code and date, newest first; country=ES, FR, GB, IE, PL or NO restricts to one country. GET /companies/{id}?include=procurement attaches a Spanish company’s ten latest awards to its profile.
Is amount_eur the actual spend?
amount_eur is that supplier’s share of the award as published, before VAT where the source distinguishes it, and amount_contract_eur is the whole contract counted once. A framework agreement or dynamic purchasing system publishes a ceiling, not spend, and the row says so with amount_is_ceiling; treat those rows as a cap, not a payment. A published figure that is a form default rather than a price carries amount_suspect.
Does a single-bid award mean something is wrong?
Not on its own. Minor contracts are awarded directly by law in Spain, so a single-bid share is expected in that category. France publishes the number of bids received for only part of its awards, so bids_received is null where it was not published, and a null is not a single bid.
Why is company_id sometimes missing from a result?
company_id is set only when the supplier’s identifier resolves to a company record for that country in Prometiam — Spain, France and the United Kingdom today; Irish, Polish and Norwegian rows carry the published identifier without the link. The award row is returned either way; when company_id is present, follow it to GET /companies/{id} for the registry profile.
Does this include a risk score or credit rating?
No. The endpoint returns award rows only — no credit score, no financial statements, no risk score. Buyer concentration and other risk reads are computed by the caller from the returned rows; a scored view of the buyer side is the separate public-buyer-risk endpoints, in beta.