Contracts Finder UK Procurement Scraper
Pricing
Pay per event
Contracts Finder UK Procurement Scraper
Find UK public procurement tenders and awards from Contracts Finder. Export buyers, values, CPV codes, deadlines, suppliers, and notice links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Scrape UK public procurement notices from the official Contracts Finder OCDS API.
Use this actor to collect tenders, awards, planning notices, buyers, suppliers, CPV codes, values, deadlines, document links, and source notice URLs without running a browser or maintaining your own Contracts Finder integration.
What does Contracts Finder UK Procurement Scraper do?
Contracts Finder UK Procurement Scraper queries the UK government Contracts Finder public OCDS endpoint and converts procurement releases into clean dataset rows.
It can pull recent notices, search by keyword, filter by notice type, filter by tender status, and keep CPV code prefixes that matter to your market.
The actor follows cursor pagination automatically and saves one flattened record per procurement notice.
Who is it for?
- ๐งโ๐ผ Bid managers monitoring public-sector opportunities.
- ๐ข B2G sales teams finding buyers with active tenders.
- ๐ Procurement analysts building public-spend dashboards.
- ๐ต๏ธ Market intelligence teams tracking competitors and awards.
- ๐๏ธ Civic-tech teams using official open contracting data.
- ๐งพ Compliance teams auditing awards, values, and suppliers.
Why use this actor?
- โ Uses the official public OCDS JSON endpoint.
- โ No login, account, token, or browser automation required.
- โ Low-cost HTTP-only execution.
- โ Flat rows that are easy to export to CSV, Excel, BigQuery, or BI tools.
- โ Useful fields for tender discovery and award analysis.
- โ Works with Apify schedules, webhooks, API clients, and MCP.
What data can you extract?
| Field | Description |
|---|---|
ocid | Open Contracting ID for the release. |
releaseId | Contracts Finder release identifier. |
noticeType | OCDS release tag such as tender or award. |
title | Tender or award title. |
description | Public description from the notice. |
tenderStatus | Tender status such as active or complete. |
procurementMethod | Procurement method/details text. |
procurementCategory | Main procurement category. |
buyerName | Buying authority name. |
buyerId | Buyer identifier when present. |
buyerContactName | Buyer contact person. |
buyerEmail | Buyer contact email. |
buyerPhone | Buyer contact phone. |
supplierNames | Awarded supplier names when present. |
valueAmount | Estimated or awarded value. |
valueCurrency | Value currency, usually GBP. |
cpvCode | Common Procurement Vocabulary code. |
cpvDescription | CPV description. |
publishedDate | Release publication date. |
tenderDeadline | Tender deadline. |
contractStartDate | Contract start date. |
contractEndDate | Contract end date. |
awardDate | Award date when available. |
awardStatus | Award status when available. |
smeSuitable | SME suitability flag. |
vcseSuitable | VCSE suitability flag. |
deliveryLocations | Delivery locations from tender items. |
documentUrls | Notice and document URLs. |
noticeUrl | Direct Contracts Finder notice URL. |
sourceApiUrl | OCDS API URL used for the row. |
scrapedAt | Timestamp when the row was saved. |
How much does it cost to scrape UK Contracts Finder notices?
This actor uses pay-per-event pricing.
You pay a small start fee and then a per-notice event for each saved procurement notice.
The BRONZE tier is about $0.10 per 1,000 notices before volume discounts.
Because the actor is HTTP-only and uses the public API, runs are designed to stay inexpensive for recurring monitoring.
Quick start
- Open the actor on Apify.
- Add one or more keywords such as
construction,software, orfacilities management. - Set
publishedFromto the beginning of the monitoring window. - Choose notice types such as
tenderandaward. - Set
maxItemsto a low number for your first run. - Run the actor.
- Export the dataset as CSV, JSON, Excel, or via API.
Input options
keywords
Optional list of terms to send to Contracts Finder.
Leave it empty to collect the newest notices in the selected date range.
publishedFrom
Start date for publication filtering.
Use YYYY-MM-DD format.
If omitted, the actor defaults to the last 30 days.
publishedTo
Optional end date for publication filtering.
Use this for historical snapshots or repeatable backfills.
noticeTypes
Filter rows by OCDS release tags.
Common values include planning, tender, award, contract, and implementation.
tenderStatuses
Filter by tender status after extraction.
Common values include active, complete, cancelled, and planned.
cpvCodes
Keep only notices whose CPV code starts with one of your prefixes.
Example: 72000000 for IT services or 45000000 for construction work.
maxItems
Maximum number of notices to save.
Start with 25 or 50 while testing a new workflow.
includeRawOcds
Attach the full source OCDS release JSON to each row.
Use this for audits or custom transformations.
Leave it off for smaller datasets.
Example input
{"keywords": ["construction", "software"],"publishedFrom": "2026-06-01","noticeTypes": ["tender", "award"],"maxItems": 50,"includeRawOcds": false}
Example output
{"ocid": "ocds-b5fd17-example","releaseId": "example-release-id","noticeType": "award","title": "Public sector software support contract","buyerName": "Example Council","supplierNames": ["Example Supplier Ltd"],"valueAmount": 25000,"valueCurrency": "GBP","cpvCode": "72000000","cpvDescription": "IT services","publishedDate": "2026-06-15T09:00:00+01:00","noticeUrl": "https://www.contractsfinder.service.gov.uk/Notice/example","sourceApiUrl": "https://www.contractsfinder.service.gov.uk/Published/Notices/OCDS/Search?...","scrapedAt": "2026-06-15T10:00:00.000Z"}
Tips for best results
- Use several focused keywords instead of one broad keyword.
- Combine keyword searches with CPV prefixes for better sector targeting.
- Schedule daily runs with
publishedFromset to a recent date for monitoring. - Export to CSV for quick review by bid teams.
- Enable
includeRawOcdsonly when you need source-level audit detail.
Common workflows
Tender monitoring
Run the actor daily for keywords that match your services.
Send new dataset rows to Slack, email, Airtable, or your CRM.
Award intelligence
Filter for award notices and track supplier names, buyer names, and awarded values.
Use this to identify incumbents and likely renewal windows.
CPV market sizing
Run broad CPV prefix searches over a date range.
Aggregate by buyer, value, category, and supplier.
Buyer prospecting
Search for recurring buyers in your sector.
Export buyer contact fields and notice URLs for qualification.
Integrations
Contracts Finder UK Procurement Scraper works with Apify integrations.
- ๐ Webhooks for new tender alerts.
- ๐ฅ Dataset API for ETL pipelines.
- ๐ Google Sheets or BI exports for dashboards.
- ๐งฑ Make and Zapier for no-code automations.
- ๐๏ธ BigQuery or data warehouse sync for analytics.
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/contracts-finder-uk-procurement-scraper').call({keywords: ['construction'],publishedFrom: '2026-06-01',maxItems: 50});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('APIFY_TOKEN')run = client.actor('automation-lab/contracts-finder-uk-procurement-scraper').call(run_input={'keywords': ['software'],'publishedFrom': '2026-06-01','maxItems': 50,})print(run['defaultDatasetId'])
cURL
curl -X POST "https://api.apify.com/v2/acts/automation-lab~contracts-finder-uk-procurement-scraper/runs?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"keywords":["construction"],"publishedFrom":"2026-06-01","maxItems":50}'
MCP usage
Use the Apify MCP server to call this actor from Claude Desktop, Claude Code, Cursor, VS Code, or any MCP client that supports HTTP transport.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/contracts-finder-uk-procurement-scraper
Claude Code setup:
$claude mcp add --transport http apify-contracts-finder https://mcp.apify.com/?tools=automation-lab/contracts-finder-uk-procurement-scraper
Claude Desktop setup:
- Open Claude Desktop settings.
- Go to Developer โ Edit Config.
- Add the JSON below and restart Claude Desktop.
{"mcpServers": {"apify-contracts-finder": {"transport": "http","url": "https://mcp.apify.com/?tools=automation-lab/contracts-finder-uk-procurement-scraper"}}}
Cursor setup:
- Open Cursor Settings โ MCP.
- Choose Add new global MCP server.
- Use the name
apify-contracts-finder, transporthttp, and the MCP URL above. - Save, then enable the server in your Cursor chat/tools panel.
VS Code setup:
- Install an MCP-compatible extension such as Claude Code or another MCP client extension.
- Add a new MCP server with transport
http. - Use the name
apify-contracts-finderand the MCP URL above. - Reload VS Code and confirm the Apify tool appears in the agent/tool list.
Example prompts:
- "Find recent UK public-sector tenders about facilities management."
- "Scrape Contracts Finder awards for software since June 1 and summarize the largest values."
- "Collect active construction tenders and list buyer contacts."
Scheduling
Create an Apify schedule to run the actor every morning.
For daily monitoring, use a recent publishedFrom date and a manageable maxItems value.
For historical analysis, run larger date windows in batches.
Data quality notes
The actor returns data as published by Contracts Finder.
Some notices may not include values, suppliers, buyer contact details, or CPV classifications.
Award notices usually contain supplier and award fields.
Tender notices usually contain deadlines and opportunity details.
Legality
Contracts Finder publishes public procurement information for transparency and opportunity discovery.
Use the data responsibly and comply with applicable laws, Apify terms, and the source website terms.
Do not use scraped contact details for spam.
FAQ
Troubleshooting
Why did I get fewer notices than maxItems?
Your filters may be narrow, or the selected date range may contain fewer matching notices.
Try removing CPV filters or broadening the publication dates.
Why are some value fields empty?
Not every notice discloses an estimated or awarded value.
The actor preserves missing source values as null.
Why are supplier fields empty?
Supplier names are usually available on award notices, not on active tender notices.
Include award in noticeTypes if you need supplier intelligence.
Related scrapers
- https://apify.com/automation-lab/ted-europa-tenders-scraper
- https://apify.com/automation-lab/contracts-finder-uk-procurement-scraper
Changelog
0.1
Initial release with keyword/date search, cursor pagination, notice-type filters, CPV filtering, flattened OCDS output, and pay-per-notice charging.
Support
If you need additional fields, contact enrichment, attachment downloading, or workflow help, open an issue on Apify.
Field reference
The actor keeps stable field names for downstream automation.
Fields may be null when the public source does not provide them.
Arrays such as supplierNames, deliveryLocations, and documentUrls are always arrays.
Performance
The actor is HTTP-only.
It does not open a browser.
It does not use residential proxies by default.
That keeps small scheduled monitoring runs fast and inexpensive.
Reliability
The actor follows the official OCDS pagination cursor.
It de-duplicates releases by release ID or OCID during a run.
It logs skipped HTTP errors and continues where possible.
Source transparency
Every row includes sourceApiUrl.
Most rows include noticeUrl when the source documents expose a direct Contracts Finder notice link.
Use these URLs to verify important tender or award details.