World Bank Projects & Tenders
Pricing
$1.00 / 1,000 record_rows
World Bank Projects & Tenders
Pricing
$1.00 / 1,000 record_rows
Rating
0.0
(0)
Developer
Sam Towers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect public World Bank procurement notices, funded projects, and country metadata through the official keyless JSON endpoints. The Actor paginates incrementally, retries bounded transient failures, deduplicates records, and emits normalized dataset rows.
Functional input
CollectorInput.from_mapping() accepts:
mode:notices(default),projects, orcountriescountry,search_term, andnotice_type: optional text filtersopen_only: boolean; defaults totruefor noticesproject_status,minimum_commitment,approval_date_from, andapproval_date_to: optional project filtersmax_results: integer from 1 through 2,000; defaults to 100
The core intentionally does not contain Apify schemas or SDK calls. Deploy owns the adapter which maps platform input names into this contract.
Functional output
Every data record has record_type (notice, project, or country), a stable
id, normalized type-specific fields, source_url, World Bank attribution, and
chargeable: true. Dates are ISO YYYY-MM-DD; monetary commitments are numeric.
If nothing matches, one separate note record is persisted with
chargeable: false.
The caller supplies asynchronous persist(record) and charge(event)
callbacks. A record_row event is requested only after a chargeable row was
successfully persisted. The first two chargeable rows in each collect() call
are free. Persisted rows remain billable when a later fetch or run step fails.
Pricing
The first two chargeable rows in each run are free. Each subsequent emitted
notice, project, or country row requests one record_row event after the row
has been persisted. Informational note rows are not chargeable.
Limitations
Results depend on the records and availability returned by World Bank public endpoints. Filters are applied to normalized fields; an empty result produces one informational note row. The maximum output is 2,000 rows per run.
Development
$python3 -m pytest -q
World Bank data attribution: World Bank Open Data, licensed under CC BY 4.0.