Discover/Gov API
live

Gov APItenders.gov.uk

Search and retrieve UK government tender notices from Find a Tender in OCDS format. Filter by status, CPV code, value, and date across 5 endpoints.

Endpoint health
verified 7d ago
browse_cpv_codes
get_ocds_release_packages
get_notice_detail
get_notice_ocds_record
search_notices
5/5 passing latest checkself-healing
Endpoints
5
Updated
17d ago

What is the Gov API?

The tenders.gov.uk API provides access to UK public procurement notices from the Find a Tender service across 5 endpoints. Use search_notices to query live tender opportunities by keyword, status, notice type, and contract value, or call get_notice_detail to retrieve a full OCDS release package for any specific notice. Response fields include OCDS-structured parties, tender details, awards, contracts, and publisher metadata.

Try it
Page number for pagination (1-based).
Search keywords to match against notice titles and descriptions.
Sort order for results.
Comma-separated statuses to filter by. Accepted values: planning, tender, contract, pipeline, award, termination. If omitted, all statuses are included.
Maximum contract value filter.
Minimum contract value filter.
Comma-separated notice type filter values.
api.parse.bot/scraper/8cba9203-9364-4487-950d-0a8c2e3c9fd3/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/8cba9203-9364-4487-950d-0a8c2e3c9fd3/search_notices?page=1&query=construction&sort_by=publish_date_desc&statuses=planning&max_value=1000000&min_value=10000&notice_types=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace tenders-gov-uk-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: Find a Tender (UK Gov) SDK — bounded, re-runnable; every call capped."""
from parse_apis.find_a_tender_uk_gov_api import FindATender, NoticeStatus, NoticeNotFound

client = FindATender()

# Search for active tenders in the planning stage
for notice in client.notices.search(query="construction", statuses=NoticeStatus.PLANNING, limit=5):
    print(notice.title, notice.organisation, notice.published_date)

# Drill-down: take one notice and retrieve its full OCDS release package
notice = client.notices.search(query="cleaning", limit=1).first()
if notice:
    package = notice.detail()
    print(package.published_date, package.publisher.name)
    for release in package.releases:
        print(release.id, release.ocid, release.tag)

# Bulk OCDS release extraction
for release in client.releasepackages.fetch(limit=3):
    print(release.id, release.date, release.ocid)

# Browse CPV procurement categories
for cpv in client.cpvcodes.list(limit=10):
    print(cpv.code, cpv.description, cpv.has_children)

# Typed error handling: catch NoticeNotFound for a deleted/invalid notice
try:
    bad_notice = client.notice(id="000000-0000")
    bad_notice.record()
except NoticeNotFound as exc:
    print(f"Notice not found: {exc.notice_id}")

print("exercised: notices.search / notice.detail / releasepackages.fetch / cpvcodes.list / notice.record")
All endpoints · 5 totalmissing one? ·

Full-text search over UK government tender notices on the Find a Tender service. Returns a paginated list of notice summaries with metadata including organisation, notice type, contract value, location, and publication date. Supports filtering by procurement stage (status), notice type, and contract value range. Each page returns up to ~20 results; use the page parameter to advance. The total_results count reflects the full matching set across all pages.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based).
querystringSearch keywords to match against notice titles and descriptions.
sort_bystringSort order for results.
statusesstringComma-separated statuses to filter by. Accepted values: planning, tender, contract, pipeline, award, termination. If omitted, all statuses are included.
max_valuestringMaximum contract value filter.
min_valuestringMinimum contract value filter.
notice_typesstringComma-separated notice type filter values.
Response
{
  "type": "object",
  "fields": {
    "items": "array of notice summary objects",
    "total_results": "integer total number of matching notices"
  },
  "sample": {
    "data": {
      "items": [
        {
          "id": "054954-2026",
          "url": "https://www.find-tender.service.gov.uk/Notice/054954-2026",
          "title": "B329/26 - Provision of Portable Appliance Equipment Testing",
          "location": "UKL17 - Bridgend and Neath Port Talbot",
          "notice_type": "UK6: Contract award notice",
          "organisation": "Bridgend County Borough Council",
          "contract_value": null,
          "published_date": "10 June 2026,  7:44pm",
          "description_summary": "This is a UK6 notice for B329/26 - Provision of Portable Appliance Equipment Testing."
        }
      ],
      "total_results": 279836
    },
    "status": "success"
  }
}

About the Gov API

Searching and Filtering Notices

The search_notices endpoint accepts keyword queries alongside filters for statuses (planning, tender, contract, pipeline, award, termination), notice_types, and a contract value range via min_value and max_value. Results are paginated using the page parameter and return an array of summary objects — each carrying id, title, url, organisation, notice_type, contract_value, location, and published_date — plus a total_results count for determining page depth.

Notice Detail and OCDS Records

get_notice_detail accepts a notice_id in NNNNNN-YYYY format and returns a full OCDS release package: a releases array with parties, tender, awards, and contracts sub-objects; a publisher object carrying name, scheme, uid, and uri; and the publishedDate ISO datetime. For tracking the complete procurement lifecycle across multiple releases, get_notice_ocds_record returns an OCDS record package with compiledRelease and versionedRelease fields alongside all related release objects.

Bulk Extraction and CPV Codes

get_ocds_release_packages supports bulk retrieval of notices with cursor-based pagination — pass the cursor value from links.next to walk through large result sets — and accepts updated_from / updated_to ISO datetime filters to scope results to a time window. The browse_cpv_codes endpoint returns top-level Common Procurement Vocabulary codes, each with a code string, a description, and a has_children boolean indicating whether subcategories exist under that classification.

Reliability & maintenanceVerified

The Gov API is a managed, monitored endpoint for tenders.gov.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tenders.gov.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official tenders.gov.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
7d ago
Latest check
5/5 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new tender opportunities matching specific CPV categories or keyword terms
  • Track the full procurement lifecycle of a contract using OCDS versioned release data
  • Bulk-export recent notices by date range for competitive intelligence or compliance reporting
  • Filter active tenders by contract value range to surface opportunities within budget thresholds
  • Map procurement spend by organisation using organisation and contract_value fields from search results
  • Integrate tender award data into CRM pipelines to identify awarded contracts and winning suppliers
  • Build CPV-code taxonomies for categorising procurement data in analytics dashboards
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Find a Tender have an official developer API?+
Yes. The UK government publishes an official OCDS-based API for Find a Tender at https://www.find-tender.service.gov.uk/api/1.0/ocdsReleasePackages. The tenders.gov.uk Parse API surfaces that data alongside the search and browse functionality in a unified interface.
What does `get_ocds_release_packages` return and how does pagination work?+
It returns an array of OCDS release objects along with a links object containing a next cursor URL. Pass that cursor value as the cursor parameter in your next call to retrieve the following page. The updated_from and updated_to parameters accept ISO-format datetimes so you can scope bulk pulls to a specific window.
Does the API return sub-level CPV codes, not just top-level entries?+
Currently browse_cpv_codes returns only top-level CPV codes. Each entry includes a has_children boolean flagging whether subcategories exist, but drilling into child codes is not exposed as a separate endpoint. You can fork this API on Parse and revise it to add a child-code lookup endpoint for any parent CPV code.
Can I filter search results by a specific buying organisation or region?+
The search_notices endpoint currently supports filtering by status, notice type, and contract value range. Organisation-level or region-level filtering parameters are not directly exposed. You can fork the API on Parse and revise it to add those filter parameters if your use case requires narrowing by buyer or geography.
How fresh is the notice data returned by the search and detail endpoints?+
Notices reflect what is currently published on the Find a Tender service. The get_ocds_release_packages endpoint includes updated_from and updated_to filters, which lets you pull only notices updated within a specific time window. Individual notice freshness depends on when the contracting authority publishes or amends a record on Find a Tender.
Page content last updated . Spec covers 5 endpoints from tenders.gov.uk.
Related APIs in Government PublicSee all →
doffin.no API
Search for public procurement tenders across Norway and retrieve detailed information about bidding opportunities, including tender specifics, CPV category codes, and location data. Stay informed about government contracts and procurement notices from the official Norwegian national database.
evergabe-online.de API
Search and retrieve public tender opportunities from Germany's e-Vergabe platform by keywords, contract types, CPV codes, and publication dates. Access detailed tender information and discover the latest procurement opportunities across construction and other sectors.
buy.nsw.gov.au API
Search and retrieve NSW Government tender opportunities and contract notices from buy.nsw, including detailed information about available opportunities, supplier hubs, and procurement categories. Filter opportunities by category and discover top procurement deals in real-time to stay informed about potential business contracts with the NSW Government.
tenders.gov.in API
Search and monitor current government tenders from India's Central Public Procurement Portal and GePNIC systems, filtering by organizations and accessing detailed tender information. Stay updated on the latest procurement opportunities and bids from Indian government agencies in one centralized location.
eprocurement.gov API
Monitor India's public procurement opportunities by accessing active tenders, bids closing today, global tenders, high-value contracts, and cancelled tenders from the Central Public Procurement Portal. Search tender details, browse participating organizations, and track real-time procurement statistics to stay informed on government contracting opportunities.
zppa.org.zm API
Search and browse open tenders in Zambia's public procurement system, view detailed tender information and procurement plans, and stay updated with the latest procurement news from the Zambia Public Procurement Authority. Get real-time access to current opportunities and historical procurement data to find relevant government contracts and bidding information.
vergabe.rib.de API
Search and retrieve tender information, award notices, and EU prior information from the RIB eVergabe platform to stay updated on procurement opportunities and contract awards. Get detailed tender specifications and the latest news to monitor bidding opportunities and market developments.
bdtender.com API
Search and browse tender listings from Bangladesh's largest tender portal, discovering opportunities by category, organization, and location while accessing real-time tender data and site statistics. Get detailed information on individual tenders, view live postings, and see what was published today to stay updated on the latest bidding opportunities.