ParseForge Scrapers

World Bank Funded Projects Scraper

parseforge/worldbank-projects-scraper

BusinessLead generationAutomation

Scrapes World Bank funded projects from the public search portal. Returns each project as a flat row with its name, ID, financials, dates, and sector. Filter by keyword, country, status, sector, and approval year.

Run this scraper See the API call
Total users
2
Monthly active
0
Total runs
124
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

World Bank Funded Projects Scraper

Scrape World Bank funded projects by keyword, country, sector, or status, up to a million per run. Each project comes with its ID, name, funding amounts, approval date, and development objectives. No API key required. Export to CSV, JSON, Excel, or XML.

The World Bank's public project database holds decades of development-finance records, but manual searches are slow and bulk downloads are limited. This Actor reads the live project listings directly, letting you filter by country, sector, approval year, and status in one pass. It returns every matching project as a clean, flat row ready for analysis.

Who uses it What they scrape World Bank for
Development economists Build a panel dataset of project commitments and disbursements across countries and years.
Procurement analysts Monitor new pipeline and active projects in a specific sector to identify upcoming contract opportunities.
NGOs and civil society Track the status and objectives of World Bank projects in a region to inform advocacy and oversight.
Data journalists Investigate funding patterns by comparing approved budgets against project outcomes across multiple countries.

What it does

This Actor collects World Bank funded projects from the public search portal and returns each one as a flat row with its name, ID, financials, dates, and sector information.

  • ๐Ÿ” Keyword search: free-text search across project names, descriptions, and abstracts.
  • ๐ŸŒ Country filter: restrict results to one or more countries using ISO-2 codes (e.g. IN, BR;NG;KE).
  • ๐Ÿ“ˆ Status filter: limit to Active, Closed, Pipeline, or Dropped projects.
  • ๐Ÿญ Sector filter: narrow by sector name substring, such as Energy, Agriculture, Education, or Health.
  • ๐Ÿ“… Approval-year range: set a minimum and maximum board-approval year to focus on a specific period.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with World Bank data

๐Ÿ“Š Build a research dataset.

A development economist collects all active and closed health-sector projects across Sub-Saharan Africa since 2010 to analyze aid allocation trends.

๐Ÿ“ˆ Monitor procurement pipelines.

A consulting firm scrapes pipeline projects in the Energy sector every month to identify upcoming World Bank-funded contract opportunities.

๐ŸŒ Track country-level portfolios.

An NGO pulls all projects for a specific country to map the World Bank's active footprint and cross-reference it with local development needs.

๐Ÿ“ฐ Investigate funding patterns.

A journalist scrapes projects by keyword and approval year to compare stated objectives against disbursement data for a cross-border story.

Why choose this scraper

What you get
No API key Reads the public project portal directly with no registration or token management.
Fixed schema Every project returns the same flat fields, ready for CSV, JSON, Excel, or XML export.
Bulk collection Collect up to a million projects in a single run for large-scale research.
Multi-country Pass multiple ISO-2 country codes separated by semicolons to pull projects from several nations at once.

How it compares

No other Store actor targets World Bank the same way, so the honest comparison is with the alternatives teams actually weigh.

World Bank Funded Projects Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When World Bank changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a keyword query, country codes, sector name, project status, and an approval-year range, alone or together, and filters run as each project is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "query": "climate",
  "approvalYearMin": 0,
  "approvalYearMax": 0
}

A larger pull:

{
  "maxItems": 200,
  "query": "climate",
  "approvalYearMin": 0,
  "approvalYearMax": 0
}

Pricing

Pay-per-result: $0.024 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $2.40
1,000 results $24.00
10,000 results $240.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the World Bank Funded Projects Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to World Bank through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/worldbank-projects-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that your query, country codes, sector, and status filters are not too restrictive. Try running with only one filter at a time to isolate the issue. Also verify that your country codes are valid ISO-2 codes.

The Actor stopped before reaching my maxItems limit.

This is normal when there are fewer matching projects than your requested maximum. The Actor stops when the World Bank portal returns no more results for your current filters.

Some projects seem to be missing data in certain fields.

The World Bank database has incomplete records for some older or pipeline-stage projects. Missing values appear as empty cells in your dataset and are not an error in the scraper.

I get an error when using multiple country codes.

Ensure you are using semicolons as separators with no spaces, for example IN;BR;NG. Also confirm each code is a valid two-letter ISO-2 country code.

The run is taking a long time.

Large queries with broad filters can return many pages of results. Reduce your maxItems, narrow your approval-year range, or add more specific filters to speed up the collection.

FAQ

Question Answer
Do I need a World Bank API key or login? No. The Actor reads the public project search portal directly, so no registration, API key, or authentication is required.
How do I filter projects by country? Use the country code field with ISO-2 codes. For multiple countries, separate them with semicolons, for example BR;NG;KE for Brazil, Nigeria, and Kenya.
What project statuses can I filter by? You can filter by Active, Closed, Pipeline, or Dropped. Leave the status field empty to return projects in any status.
Can I search by project name or topic? Yes. The query field performs a free-text search across project names, descriptions, and abstracts. Use keywords like 'climate', 'education', or a specific project title.
How many projects can I collect in one run? You can set the maximum up to 1,000,000 projects. The Actor will stop when it reaches that number or when no more matching projects are found.
What export formats are supported? Your dataset can be exported in CSV, JSON, Excel, or XML from the Apify platform.
Can I filter by approval year? Yes. Set a minimum and maximum board-approval year. Leave both empty to include all years back to 1947.
How do I filter by sector? Enter a sector name substring in the sector field, such as 'Energy', 'Agriculture', 'Education', or 'Health'. The filter matches projects whose sector contains that text.
Does this Actor get project documents or procurement notices? This Actor collects the project metadata from the search listings. It does not download attached documents or detailed procurement notices.
Is this an official World Bank product? No. This is an independent scraper that reads publicly available data from the World Bank project portal. It is not affiliated with or endorsed by The World Bank Group.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by The World Bank Group. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many projects to collect per run. 10
query string Free-text search across project names, descriptions, and abstracts. climate
country string ISO-2 country code, semicolon-separated for multiple (e.g. `IN`, `BR;NG;KE`). Empty = all countries. not set
status string (5 options) Project life-cycle status filter. not set
sector string Sector-name substring filter (e.g. `Energy`, `Agriculture`, `Education`, `Health`). Empty = all sectors. not set
approvalYearMin integer Earliest board-approval year. Empty = 1947 (earliest WB record). 0
approvalYearMax integer Latest board-approval year. Empty = current year. 0

Pricing

from $18.00 per 1,000 results

Charged forWhat it isPrice each
Result item Charged per record successfully returned in the dataset. $0.018 to $0.024

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~worldbank-projects-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run World Bank Funded Projects Scraper on Apify All scrapers