POST /api/contractsfinder/tenders
Price: 15 credits
Get one Contracts Finder notice by its id or URL: title and description, buyer, contracting contact with address, email and phone, notice kind, status, value range, publication, deadline, contract start and end dates, CPV codes with their descriptions, delivery location, procedure type, framework and extension flags, every award with its supplier, DUNS number, value and dates, the attachments and the published version history.
Pass the id of a contractsfinder/tenders/search row or the notice URL. Awards and their suppliers live here, not in the search row, which carries only the first awarded supplier name. A Find a Tender ocid or notice id is a different register and is rejected as an invalid payload.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)tender string required — Notice id or notice URL (examples: "a20defc8-95bf-4f3c-9241-a0677f676953", "https://www.contractsfinder.service.gov.uk/notice/a20defc8-95bf-4f3c-9241-a0677f676953"; minLength: 1)@type string (default: "ContractsfinderNotice")id string requiredparent_id string nullableparent_identifier string nullablelink_reason string nullablenotice_identifier string nullableversion integer nullabledescription string nullablenotice_type string nullablestatus string nullablestage string nullablebuyer object nullable@type string (default: "ContractsfinderPartyRef")id string nullablename string nullablesuppliers array (default: [])@type string (default: "ContractsfinderPartyRef")id string nullablename string nullablecontact object nullable@type string (default: "ContractsfinderContact")name string nullableemail string nullabletelephone string nullableurl string nullablecontact_address object nullable@type string (default: "ContractsfinderAddress")street string nullablelocality string nullableregion string nullablepostal_code string nullablecountry_name string nullabletext string nullablevalue object nullable@type string (default: "ContractsfinderValue")amount number nullableamount_min number nullableamount_max number nullablecurrency string nullabledates object nullable@type string (default: "ContractsfinderSummaryDates")published_at integer nullabledeadline_at integer nullableawarded_at integer nullableapproach_market_at integer nullablecontract_start_at integer nullablecontract_end_at integer nullablelast_update_at integer nullablecpv array (default: [])@type string (default: "ContractsfinderClassification")scheme string nullablecode string nullabledescription string nullableparent_code string nullablehas_children boolean nullablecpv_description string nullablesector string nullablelocation object nullable@type string (default: "ContractsfinderLocation")postcode string nullableregion string nullableregion_text string nullablelatitude number nullablelongitude number nullableis_nationwide boolean nullableprocedure_type string nullableprocedure_type_other string nullableprocedure_accelerated_justification string nullableannex_d_option string nullablereason_contract_lawful string nullablecontract_type string nullableis_framework_agreement boolean nullableis_extension_possible boolean nullableis_supply_chain boolean nullableis_sme_suitable boolean nullableis_vcse_suitable boolean nullableis_published boolean nullableis_pre_awarded boolean nullablespend_profile array (default: [])@type string (default: "ContractsfinderSpendLine")start_year integer nullablebudget number nullableawards array (default: [])@type string (default: "ContractsfinderNoticeAward")id string requirednotice_id string nullableaward_guid string nullablesupplier object nullable@type string (default: "ContractsfinderPartyRef")id string nullablename string nullablesupplier_address object nullable@type string (default: "ContractsfinderAddress")street string nullablelocality string nullableregion string nullablepostal_code string nullablecountry_name string nullabletext string nullablesupplier_duns string nullablesupplier_contact object nullable@type string (default: "ContractsfinderContact")name string nullableemail string nullabletelephone string nullableurl string nullablevalue object nullable@type string (default: "ContractsfinderValue")amount number nullableamount_min number nullableamount_max number nullablecurrency string nullablesupplier_awarded_value object nullable@type string (default: "ContractsfinderValue")amount number nullableamount_min number nullableamount_max number nullablecurrency string nullableawarded_at integer nullablecontract_period object nullable@type string (default: "ContractsfinderPeriod")start_at integer nullableend_at integer nullableprocedure_type string nullableprocedure_type_other string nullableprocedure_accelerated_justification string nullableannex_d_option string nullablereason_contract_lawful string nullablereference string nullablereference_type string nullableis_supplier_sme boolean nullableis_supplier_vcse boolean nullableadditional_details string nullableattachments array (default: [])@type string (default: "ContractsfinderAttachment")id string nullabledescription string nullabledata_type string nullabletext string nullablefilename string nullablemedia_type string nullableurl string nullableaward_guid string nullableversions array (default: [])@type string (default: "ContractsfinderVersion")id string nullableversion_number integer nullablenotice_type string nullablenotice_status string nullablepublished_notice_id string nullablechanged_at integer nullableis_visible_to_public boolean nullablewithdrawn_at integer nullablewithdrawn_reason string nullablecreated_at integer nullableupdated_at integer nullableviews integer nullablecountry string (default: "GB")url string required422 — tender is not a Contracts Finder notice id or notice URL Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No notice with this identifier on Contracts Finder Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.