World Bank Projects & Financing Scraper avatar

World Bank Projects & Financing Scraper

Pricing

from $10.20 / 1,000 results

Go to Apify Store
World Bank Projects & Financing Scraper

World Bank Projects & Financing Scraper

Scrape World Bank projects with country, status, approval and closing dates, total commitment amount, sectors, themes, borrower and implementing agency. Search by keyword, country or status. Export to JSON, CSV or Excel.

Pricing

from $10.20 / 1,000 results

Rating

5.0

(1)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

World Bank Projects & Financing Scraper

World Bank Projects & Financing Scraper

Here is one real result, with every field the actor returns:

{
"id": "P006553",
"name": "BR APL Integrated Water Management In Metropolitan Sao Paulo",
"countries": [
"Federative Republic of Brazil"
],
"country": "Federative Republic of Brazil",
"region": "Latin America and Caribbean",
"status": "Closed",
"approvalDate": "2009-07-09T00:00:00Z",
"approvalFY": "2009",
"closingDate": "3/30/2017 12:00:00 AM",
"totalCommitmentUsd": 104000000,
"totalAmountUsd": 104000000,
"ibrdCommitmentUsd": 124.82,
"idaCommitmentUsd": 0,
"lendingInstrument": "Investment Project Financing",
"sectors": [
"Public Administration - Water, Sanitation and Waste Management",
"Other Water Supply, Sanitation and Waste Management"
],
"themes": [
"Water resource management",
"Urban services and housing for the poor",
"Pollution management and environmental health",
"Land administration and management"
],
"borrower": "SABESP",
"implementingAgency": "SSRH",
"teamLeader": "Juliana Menezes Garrido",
"url": "https://projects.worldbank.org/en/projects-operations/project-detail/P006553",
"source": "World Bank Projects",
"observedAt": "2026-08-10T14:32:00.325Z"
}

The most complete World Bank projects scraper available. It returns every field the World Bank projects API exposes for each operation, from commitment amounts and lending instrument to sectors, themes, borrower and implementing agency, and gives you three filters to target exactly the projects you need.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor queries the public World Bank projects dataset, applies the filters you pass as input, paginates through the matching operations, and writes one normalized record per project to the run's dataset. Commitment amounts are parsed to numbers, missing source values are returned as null, and multi-value fields (countries, sectors, themes) are de-duplicated arrays so you can filter and aggregate without extra parsing.

Data covers World Bank lending operations worldwide (active, closed, pipeline, and dropped projects). No account, API key, or login is required.

Quickstart

Open the actor, paste this into the input, and press Run. It returns the 10 most relevant water projects.

{
"maxProjects": 10,
"searchQuery": "water"
}

Leave searchQuery empty to list projects with no keyword filter. Every input field is optional; with an empty input the actor returns the most recent projects (default maxProjects is 10).

Input reference

FieldTypeRequiredDefaultDescription
maxProjectsintegerno10Maximum number of projects to collect. The actor paginates the source 100 rows at a time until this count is reached.
searchQuerystringno(empty)Free-text query matched against project names and details, for example water, education, renewable energy. Leave empty to list projects without a keyword.
countryCodestringno(empty)Restrict to one country by its ISO-2 code, for example BR (Brazil), IN (India), KE (Kenya).
statusenumno(any)Filter by project status. One of Active, Closed, Pipeline, Dropped.

Filters combine with logical AND. If you pass no filters at all, the actor returns projects with no keyword or country restriction.

Output reference

One dataset item per project. Types: string, number, string[], or null when the source value is absent.

FieldTypeDescription
idstringWorld Bank project ID (unique per project), for example P006553.
namestringProject name.
countriesstring[]All countries associated with the project.
countrystringPrimary country of the project (first of countries), or null.
regionstringWorld Bank region name, for example Latin America and Caribbean.
statusstringProject status: Active, Closed, Pipeline, or Dropped.
approvalDatestringBoard approval date as returned by the source (ISO 8601).
approvalFYstringFiscal year of approval.
closingDatestringProject closing date as returned by the source.
totalCommitmentUsdnumberTotal current commitment amount in USD.
totalAmountUsdnumberTotal project amount in USD.
ibrdCommitmentUsdnumberIBRD current commitment in USD.
idaCommitmentUsdnumberIDA current commitment in USD.
lendingInstrumentstringLending instrument, for example Investment Project Financing.
sectorsstring[]De-duplicated list of project sectors.
themesstring[]De-duplicated list of project themes.
borrowerstringBorrower entity.
implementingAgencystringImplementing agency.
teamLeaderstringWorld Bank team leader name.
urlstringCanonical project detail page URL.
sourcestringData source label. Always World Bank Projects.
observedAtstringISO 8601 timestamp of when the record was collected.
errorstringPresent only on a failed run: a single item with a populated error field is written instead of project data.

Example output record

Real record from a live run (input {"maxProjects": 10, "searchQuery": "water"}):

{
"id": "P006553",
"name": "BR APL Integrated Water Management In Metropolitan Sao Paulo",
"countries": [
"Federative Republic of Brazil"
],
"country": "Federative Republic of Brazil",
"region": "Latin America and Caribbean",
"status": "Closed",
"approvalDate": "2009-07-09T00:00:00Z",
"approvalFY": "2009",
"closingDate": "3/30/2017 12:00:00 AM",
"totalCommitmentUsd": 104000000,
"totalAmountUsd": 104000000,
"ibrdCommitmentUsd": 124.82,
"idaCommitmentUsd": 0,
"lendingInstrument": "Investment Project Financing",
"sectors": [
"Public Administration - Water, Sanitation and Waste Management",
"Other Water Supply, Sanitation and Waste Management"
],
"themes": [
"Water resource management",
"Urban services and housing for the poor",
"Pollution management and environmental health",
"Land administration and management"
],
"borrower": "SABESP",
"implementingAgency": "SSRH",
"teamLeader": "Juliana Menezes Garrido",
"url": "https://projects.worldbank.org/en/projects-operations/project-detail/P006553",
"source": "World Bank Projects",
"observedAt": "2026-08-10T14:32:00.325Z"
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~worldbank-projects-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"water","countryCode":"BR","maxProjects":25}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~worldbank-projects-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchQuery":"education","status":"Active","maxProjects":100}'

Apify CLI:

apify call scrapers_lat/worldbank-projects-scraper \
--input '{"searchQuery":"renewable energy","maxProjects":50}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per record returned (result event). See the pricing tab for the current per-result price.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run. Upgrade for higher maxProjects.

FAQ and troubleshooting

A run returned 0 records. Why? The filter combination matched nothing in the source. Loosen filters (for example remove countryCode or status), or broaden the keyword. Zero-result runs are not charged.

How do I get only active projects? Set status to Active. Combine with a keyword such as water and optionally a countryCode.

How do I pull projects for one country? Pass countryCode with the ISO-2 code, for example BR for Brazil or IN for India.

Why is a financial field 0 or null? Not every project draws on both IBRD and IDA windows, so one commitment field is often 0. Missing source values are returned as null, never invented.

Is this an official World Bank tool? No. This actor is independent and has no affiliation with the World Bank. It reads only data that is publicly available through the World Bank projects API.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the World Bank. Accesses only publicly available World Bank projects data.