Pricing
Pay per event
World Bank Procurement Notices Scraper
Extract World Bank procurement notices, bid deadlines, project IDs, countries, procurement methods, and buyer contacts from the official public API.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract World Bank procurement notices from the official public JSON API. The actor exports tender opportunities, bid deadlines, project IDs, countries, procurement methods, and buyer contact details into a clean Apify dataset.
Use it to monitor World Bank-funded opportunities without building and maintaining your own API pagination, filtering, and normalization pipeline.
What does World Bank Procurement Notices Scraper do?
World Bank Procurement Notices Scraper collects procurement notices from search.worldbank.org/api/v2/procnotices.
It turns irregular World Bank API records into stable dataset rows that can be exported to CSV, Excel, JSON, Google Sheets, warehouses, CRMs, tender-alert systems, or business-intelligence dashboards.
The actor can filter notices by keyword, country or region, notice type, publication date, submission deadline, status, and project ID.
Who is it for?
- ๐๏ธ Contractors and suppliers tracking World Bank-funded tenders.
- ๐งพ Bid teams monitoring submission deadlines and reference numbers.
- ๐ Development-sector consultants looking for projects by country or region.
- ๐๏ธ Public-sector market intelligence teams following donor-funded procurement.
- ๐ Data teams enriching internal opportunity databases with official tender data.
- ๐ Operations teams building recurring procurement alerts.
Why use this actor?
The World Bank API is public, but its field names are legacy-style and its output is not optimized for business users.
This actor adds:
- Clean field names.
- Pagination.
- Practical filters.
- Optional raw records for auditability.
- Stable Apify exports and integrations.
- Pay-per-event pricing so small monitoring jobs stay inexpensive.
Data source
The actor uses the official World Bank procurement notices API.
No login, cookies, or private API key are required for the core dataset.
The actor does not bypass access controls. It reads public records exposed by the World Bank search endpoint.
Input overview
You can run a broad scrape or narrow the result set with filters.
Important input fields:
queryโ keyword such aswater,solar,roads, orconsulting.countryโ country or region such asIndia,Somalia, orAfrica.noticeTypeโ notice type such asInvitation for Bids.statusโ usuallyPublished.projectIdโ exact World Bank project ID such asP174867.dateFromanddateToโ notice publication date range.deadlineFromanddeadlineToโ submission deadline date range.maxResultsโ maximum notices to save.includeRawโ include the full original API object.
Example input
{"query":"water","country":"Africa","status":"Published","maxResults":100,"pageSize":50,"includeRaw":false}
Output data
Each dataset item is one procurement notice.
| Field | Description |
|---|---|
noticeId | World Bank procurement notice ID |
noticeType | Notice type |
status | Notice status |
noticeDate | Publication date |
submissionDeadlineDate | Submission deadline date |
submissionDeadlineTime | Submission deadline time |
country | Project country or region |
contactCountry | Contact country |
projectId | World Bank project ID |
projectName | Project name |
bidReferenceNo | Bid reference number |
bidDescription | Bid description |
procurementGroup | Procurement group code |
procurementMethodCode | Procurement method code |
procurementMethodName | Procurement method name |
contactName | Contact person |
contactOrganization | Buyer or implementing organization |
contactEmail | Contact email |
contactPhone | Contact phone |
contactWebsite | Contact website |
contactAddress | Contact address |
noticeUrl | World Bank procurement detail URL |
sourceApiUrl | API page URL used for the record |
scrapedAt | Extraction timestamp |
raw | Optional original API object |
Example output
{"noticeId":"OP00449688","noticeType":"Invitation for Bids","status":"Published","noticeDate":"24-Jun-2026","submissionDeadlineDate":"2026-07-25T00:00:00Z","country":"Eastern and Southern Africa","projectId":"P174867","projectName":"Horn of Africa - Groundwater for Resilience Program","bidReferenceNo":"SO-MOWRD-SL-511105-CW-RFB","bidDescription":"Cali-Ciise and Qoolbuulale Borehole Drilling Works"}
How much does it cost to scrape World Bank procurement notices?
This actor uses pay-per-event pricing.
There is a small start charge for each run and a per-notice charge for saved dataset rows. You only pay for data the actor actually exports.
The exact platform prices are shown on the Apify Store page and in the run billing details.
How to run it
- Open the actor on Apify.
- Enter a keyword, country, project ID, or date filters.
- Set
maxResultsto the number of notices you need. - Click Start.
- Export the dataset as CSV, Excel, JSON, XML, RSS, or HTML.
Tender monitoring workflow
For recurring monitoring, schedule the actor daily or weekly.
Use deadlineFrom and deadlineTo to focus on notices with near-term bid deadlines.
Send the dataset to Google Sheets, Slack, email, Airtable, or a database with Apify integrations.
Country and region tips
The World Bank API can return regional values such as Eastern and Southern Africa instead of only country names.
If a country filter is too narrow, try a broader region keyword.
Examples:
AfricaSouth AsiaIndiaSomaliaLatin America
Keyword tips
Good procurement keywords are specific enough to reduce noise but broad enough to catch variants.
Try terms such as:
watersolarroadsconsultinghealtheducationITconstruction
Date filtering tips
Use notice date filters to create historical extracts.
Use deadline filters to create actionable bid calendars.
For live opportunity alerts, combine status: Published, a country or keyword, and a deadline range.
API usage with Node.js
import{ ApifyClient }from'apify-client';const client =newApifyClient({token: process.env.APIFY_TOKEN});const run =await client.actor('automation-lab/world-bank-procurement-notices-scraper').call({query:'water',country:'Africa',maxResults:100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/world-bank-procurement-notices-scraper').call(run_input={'query':'water','country':'Africa','maxResults':100,})print(run['defaultDatasetId'])
API usage with cURL
curl-X POST 'https://api.apify.com/v2/acts/automation-lab~world-bank-procurement-notices-scraper/runs?token=YOUR_APIFY_TOKEN'\-H'Content-Type: application/json'\-d'{"query":"water","country":"Africa","maxResults":100}'
MCP integration
Use this actor through Apify MCP tools in Claude Code, Claude Desktop, and compatible agents.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper
Claude Code setup:
$claude mcp add apify-world-bank-procurement https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper
Claude Desktop MCP server config:
{"mcpServers":{"apify-world-bank-procurement":{"url":"https://mcp.apify.com/?tools=automation-lab/world-bank-procurement-notices-scraper"}}}
Example prompts:
- "Find World Bank water procurement notices in Africa and summarize deadlines."
- "Export the latest World Bank road construction bid notices for South Asia."
- "Monitor project P174867 procurement notices and alert me when new records appear."
Integrations
Useful integrations include:
- Google Sheets for bid tracking.
- Slack or email alerts for new opportunities.
- Airtable for tender pipeline management.
- BigQuery, Snowflake, or Postgres for analytics.
- CRM workflows for supplier and consultant teams.
Reliability notes
The actor uses a public JSON endpoint and does not need a browser.
It includes the original source API URL for traceability.
Enable includeRaw when you need to inspect new or changed World Bank fields.
Legality
This actor extracts public procurement notice data from the official World Bank endpoint.
You are responsible for using exported data in accordance with applicable laws, platform terms, and your organization's compliance policies.
Do not use contact details for spam or unlawful outreach.
FAQ
Is this World Bank procurement scraper official?
No. It is an independent Apify actor that reads public records from the World Bank's public procurement notice API.
Does it need a World Bank login or API key?
No. The core procurement notices endpoint is public and was verified without login, cookies, or a private API key.
Troubleshooting
Why did I get fewer results than maxResults?
Your filters may be narrow. Relax keyword, country, project ID, or date filters and run again.
Why is the country a region?
World Bank procurement data sometimes uses regional project names. Try filtering by region or inspect contactCountry.
Why is a field empty?
Some notices do not include every contact, website, or deadline field. Enable includeRaw to inspect the original record.
Related scrapers
Explore related Automation Lab actors on Apify:
- https://apify.com/automation-lab/world-bank-projects-scraper
- https://apify.com/automation-lab/website-contact-finder
- https://apify.com/automation-lab/business-directory-scraper
Changelog
Initial version extracts official World Bank procurement notices with filters, normalized fields, and optional raw records.
