GPT Shop Tenders

Free API · No key · CORS enabled

Live UK public tenders as JSON and CSV, one URL per trade

Open contracts from councils, NHS bodies, schools, housing associations and central government, taken from the official Find a Tender and Contracts Finder feeds and grouped into 20 trades. Expired notices drop out automatically. Data through 13 October 2026.

curl https://tools.gptshopltd.com/api/uk-tenders/grounds-maintenance.json
curl https://tools.gptshopltd.com/api/uk-tenders/cleaning.csv

Free tier: up to 25 open notices per request, sorted by closing date. Please keep to about 1 request per minute; the data changes once a day.

How it works

1Pick a trade

Each trade is a fixed keyword set, shown in meta.keywords. Start with grounds maintenance or cleaning.

2Call the URL

Use .json for code and automations (Zapier, Make, n8n) or .csv for spreadsheets. No sign-up and no API key.

3Open the notice

Every row links to the official notice in notice_url. Always check the notice before you bid.

Endpoints

GET /api/uk-tenders/<trade>.json · GET /api/uk-tenders/<trade>.csv · GET /api/uk-tenders/index.json (all trades)

RSS: /api/uk-tenders/feed.xml (newest 50 open notices across trades) · per-trade /api/uk-tenders/<trade>.xml

TradeOpen at last buildFeedBrowse
Cleaning74.json · .csvpage
Grounds maintenance60.json · .csvpage
Construction and building works428.json · .csvpage
Consultancy210.json · .csvpage
Training and education services180.json · .csvpage
Facilities management163.json · .csvpage
Software and SaaS112.json · .csvpage
Electrical contracting110.json · .csvpage
Transport and fleet110.json · .csvpage
Plumbing, heating and gas62.json · .csvpage
Marketing and communications54.json · .csvpage
Care and support services44.json · .csvpage
Recruitment and staffing39.json · .csvpage
Catering36.json · .csvpage
Roofing26.json · .csvpage
Printing25.json · .csvpage
IT support and managed services23.json · .csvpage
Waste management23.json · .csvpage
Security services15.json · .csvpage
Legal services9.json · .csvpage

Query parameters

ParameterValuesWhat it does
limit1 to 25 (default 25)Number of notices returned.
regione.g. London, North West, ScotlandBuyer or delivery region (ITL1 names). UK-wide notices are kept.
sortdeadline (default) or valueClosing soonest first, or largest stated value first.
matchtitle (default) or anytitle returns notices whose title or main category matches the trade; any adds description-only matches.

A real response

Trimmed from the live grounds maintenance feed on 14 October 2026. Each notice also has summary, delivery_regions, contract_start, contract_end, category, main_cpv and cpvs.

{
  "meta": {
    "trade": "grounds-maintenance",
    "data_through": "2026-10-13",
    "total_open": 60,
    "returned": 2,
    "cap": 25,
    "license": "Open Government Licence v3.0",
    "attribution": "Contains public sector information licensed under the Open Government Licence v3.0 (Find a Tender Service and Contracts Finder, Crown copyright)."
  },
  "notices": [
    {
      "id": "fts:087385-2026",
      "title": "Open Space Maintenance Contract 2026 - 2029",
      "buyer": "East Kilbride Housing Association Ltd",
      "buyer_region": "Scotland",
      "value_gbp": 300000,
      "value_includes_vat": false,
      "deadline": "2026-10-15T12:00:00+01:00",
      "published": "2026-09-15",
      "procedure": "Open procedure",
      "sme_suitable": null,
      "source": "Find a Tender",
      "notice_url": "https://www.find-tender.service.gov.uk/Notice/087385-2026",
      "match": "title"
    },
    {
      "id": "fts:085363-2026",
      "title": "ITT for the Provision of Repairs Services Tender",
      "buyer": "ROCHDALE BOROUGHWIDE HOUSING LIMITED",
      "buyer_region": "North West",
      "value_gbp": 32197500,
      "value_includes_vat": true,
      "deadline": "2026-10-16T12:00:00+01:00",
      "published": "2026-09-09",
      "procedure": "Open procedure",
      "sme_suitable": true,
      "source": "Find a Tender",
      "notice_url": "https://www.find-tender.service.gov.uk/Notice/085363-2026",
      "match": "title"
    }
  ]
}

Google Sheets

=IMPORTDATA("https://tools.gptshopltd.com/api/uk-tenders/cleaning.csv")

Python

import requests
r = requests.get("https://tools.gptshopltd.com/api/uk-tenders/grounds-maintenance.json",
                 params={"region": "London", "limit": 10})
for n in r.json()["notices"]:
    print(n["deadline"], n["title"], n["notice_url"])

Need more than 25 rows or your own filters?

The free feed covers fixed trades. When you need your own keywords, buyer contacts or a different source, these are one-off purchases from GPT Shop Ltd, with no subscription.

Keyword report

£25

Every open notice matching up to 10 of your own keywords, with buyer emails and phones where published, pipeline notices and recent awards. CSV + PDF within 24 hours on a weekday.

See the report and a sample

Done-for-you scraper

£149

Need data from a portal or private site this feed does not cover? We build and run a custom scrape and send you a clean CSV, with a sample before you pay in full.

See how it works

Grounds tender pack

£29

For grounds, landscaping and tree-work firms: every live green-space tender in one CSV and PDF with buyer contacts, rebuilt daily. No keywords needed.

Open the grounds pack

Questions

Is it really free? Do I need a key?

Yes, and no key. Responses carry Access-Control-Allow-Origin: *, so you can call them from a browser, a spreadsheet or a no-code tool.

How fresh is the data?

Notices are ingested daily from the public OCDS APIs of Find a Tender and Contracts Finder. meta.data_through shows the last day ingested. Expired notices are removed when you call the feed.

What are the rate limits?

Please keep to about 1 request per minute per trade and cache the result; the data changes once a day. Heavy automated use may be blocked without notice.

Can I reuse the data?

Yes, under the Open Government Licence v3.0. Keep the attribution: Contains public sector information licensed under the Open Government Licence v3.0 (Find a Tender Service and Contracts Finder, Crown copyright). It is included in meta.attribution, in the X-Attribution header and as the last line of every CSV.

Why no buyer contact details?

The free feed lists the notice and links to it. Buyer contacts, where the buyer published them, are in the £25 keyword report and the grounds pack.

Is this official?

No. It is compiled by GPT Shop Ltd from public data and is not affiliated with the UK Government. Always confirm details on the official notice before bidding.

Can you add a trade?

Email [email protected] with the trade and a few keywords. The same data is also on GitHub as uk-public-tenders-by-trade.

Contains public sector information licensed under the Open Government Licence v3.0 (Find a Tender Service and Contracts Finder, Crown copyright). Listings are a snapshot; always check the notice on the official service before bidding.