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://sme-free-tools.pages.dev/api/uk-tenders/grounds-maintenance.json
curl https://sme-free-tools.pages.dev/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
| Trade | Open at last build | Feed | Browse |
|---|---|---|---|
| Cleaning | 74 | .json · .csv | page |
| Grounds maintenance | 60 | .json · .csv | page |
| Construction and building works | 428 | .json · .csv | page |
| Consultancy | 210 | .json · .csv | page |
| Training and education services | 180 | .json · .csv | page |
| Facilities management | 163 | .json · .csv | page |
| Software and SaaS | 112 | .json · .csv | page |
| Electrical contracting | 110 | .json · .csv | page |
| Transport and fleet | 110 | .json · .csv | page |
| Plumbing, heating and gas | 62 | .json · .csv | page |
| Marketing and communications | 54 | .json · .csv | page |
| Care and support services | 44 | .json · .csv | page |
| Recruitment and staffing | 39 | .json · .csv | page |
| Catering | 36 | .json · .csv | page |
| Roofing | 26 | .json · .csv | page |
| Printing | 25 | .json · .csv | page |
| IT support and managed services | 23 | .json · .csv | page |
| Waste management | 23 | .json · .csv | page |
| Security services | 15 | .json · .csv | page |
| Legal services | 9 | .json · .csv | page |
Query parameters
| Parameter | Values | What it does |
|---|---|---|
limit | 1 to 25 (default 25) | Number of notices returned. |
region | e.g. London, North West, Scotland | Buyer or delivery region (ITL1 names). UK-wide notices are kept. |
sort | deadline (default) or value | Closing soonest first, or largest stated value first. |
match | title (default) or any | title 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://sme-free-tools.pages.dev/api/uk-tenders/cleaning.csv")Python
import requests
r = requests.get("https://sme-free-tools.pages.dev/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 sampleDone-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 worksGrounds 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 packQuestions
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 chris@gptshopltd.com 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.