EBRD ECEPP Procurement Notices Scraper
Pricing
Pay per event
EBRD ECEPP Procurement Notices Scraper
π Search public EBRD ECEPP tenders, deadlines, projects, clients, awards, values, contractors, lots, and source links as structured data.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Turn public EBRD procurement opportunities and contract awards into structured, monitor-ready data.
The EBRD ECEPP Procurement Notices Scraper searches ecepp.ebrd.com, applies practical procurement filters, and optionally enriches every selected notice from its detail page.
Use it to watch tender deadlines, identify projects and clients, research awarded contracts, or feed procurement intelligence systems without manually reviewing a large portal table.
- π Search notices by keyword, country, type, status, and dates
- π Normalize publication and closing times from UK time to ISO 8601
- π Enrich projects, methods, sectors, award values, contractors, and lots
- π Preserve ECEPP IDs and source links for verification
- βοΈ Schedule repeat runs and export JSON, CSV, Excel, XML, or RSS
What does the EBRD ECEPP Procurement Notices Scraper do?
The Actor downloads the anonymous public ECEPP notice index, filters its structured rows, and returns up to your requested limit.
When detail enrichment is enabled, it also opens the chosen public notice pages and extracts fields that are not present in the result list.
It supports both broad discovery and exact notice URLs.
No EBRD account is required.
The Actor does not submit bids, respond to opportunities, or access private procurement documents.
Who is it for?
Suppliers and bid teams
Find open notices relevant to products, services, countries, and target sectors.
Procurement intelligence teams
Create a repeatable feed of notices and awards with stable IDs and source evidence.
Consultants
Track project implementation support, supervision, engineering, and advisory opportunities.
Market researchers
Analyze countries, clients, methods, sectors, signed values, and successful contractors.
Data product builders
Use the API or MCP output as a source for alerts, dashboards, CRMs, warehouses, and tender products.
Why use this EBRD tender scraper?
ECEPP exposes useful public data, but the search page contains a very large table and browser-side filters.
This Actor converts that surface into clean records with typed values and normalized dates.
- β No login or browser automation
- β Strict ECEPP URL validation
- β Conservative request concurrency
- β Search records survive an individual detail-page error
- β Search layout failures stop visibly instead of returning misleading success
- β Dataset output works with all Apify integrations
What EBRD procurement data can I extract?
| Field | Meaning |
|---|---|
displayNoticeId | ID used by the public detail URL |
eceppId | ECEPP notice identifier shown by the source |
title | Procurement exercise or notice title |
projectName | EBRD project name |
ebrdProjectId | EBRD project identifier |
country | Project country |
clientName | Procuring client or executing agency |
noticeType | Invitation, award, addendum, or other source type |
status | Opportunity state shown in search results |
publicationDate | ISO UTC publication timestamp |
closingDate | ISO UTC response deadline when available |
procurementType | Goods, works, consultancy, or other type |
procurementMethod | Tendering method |
businessSector | EBRD business sector |
contractValue | Numeric signed contract value when published |
contractCurrency | Three-letter award currency |
contractorName | Awarded contracting party when published |
lotTitle | Award lot title when published |
detailUrl | Original public ECEPP notice URL |
Optional fields are omitted when ECEPP does not publish them for that notice.
How to scrape EBRD ECEPP notices
- Open the Actor input page.
- Leave the default ECEPP search URL or provide exact public notice URLs.
- Enter a keyword such as
water,energy, orconsultant. - Optionally add countries, notice types, statuses, or date boundaries.
- Choose whether to enrich notice detail pages.
- Set a result limit appropriate for the workflow.
- Click Start.
- Open the Dataset tab to review or export records.
Start with 10 notices while refining filters.
Input parameters
| Input | Type | Default | Purpose |
|---|---|---|---|
searchUrls | array | ECEPP search page | Search or exact public notice URLs |
keyword | string | water prefill | Case-insensitive text match |
countries | string[] | empty | Exact source country names |
noticeTypes | string[] | empty | Partial notice-type matches |
statuses | string[] | empty | Exact opportunity states |
publishedFrom | date | empty | Inclusive publication lower bound |
publishedTo | date | empty | Inclusive publication upper bound |
closingFrom | date | empty | Inclusive closing lower bound |
closingTo | date | empty | Inclusive closing upper bound |
includeDetails | boolean | true | Enrich project and award fields |
maxItems | integer | 25 | Maximum emitted notices |
maxConcurrency | integer | 4 | Simultaneous detail requests |
Only https://ecepp.ebrd.com/delta/noticeSearchResults.html and public viewNotice.html URLs are accepted.
Example input
{"keyword": "water","countries": ["Tajikistan", "Uzbekistan"],"statuses": ["Open"],"includeDetails": true,"maxItems": 25,"maxConcurrency": 4}
For contract-award intelligence:
{"countries": ["Ukraine"],"noticeTypes": ["Contract Award"],"includeDetails": true,"maxItems": 50}
Example output
{"displayNoticeId": "44331859","eceppId": "38630996","title": "Tender #1 - Supply of containerized Gas Engine Power Plants (5 lots)","projectName": "RLF - UZ Energy","ebrdProjectId": "55879","country": "Ukraine","clientName": "Ukrainian Railways PJSC (UZ)","noticeType": "Ebrd Contract Award Notice","publicationDate": "2026-04-28T17:05:00.000Z","procurementType": "Goods","procurementMethod": "Open Tender Single Stage","contractValue": 87001444,"contractCurrency": "EUR","contractorName": "JV RSE-Kaltimex-UECL","detailUrl": "https://ecepp.ebrd.com/delta/viewNotice.html?displayNoticeId=44331859"}
Exact fields depend on what ECEPP publishes for each notice.
How much does it cost to scrape EBRD tenders?
The Actor uses pay-per-event pricing: a small $0.005 start charge plus a charge for each procurement notice saved.
Per-notice rates decrease by Apify plan tier: $0.00011899 on Free, $0.00010347 on Bronze, $0.000080706 on Silver, $0.000062081 on Gold, $0.000041388 on Platinum, and $0.000028971 on Diamond.
Because filtering happens before detail enrichment, narrow searches avoid unnecessary detail requests.
A 10-notice monitoring run pays for 10 output records, not for every row in the source table.
Use a low maxItems value while testing a new workflow.
Search and filter behavior
Keyword matching covers the structured search record, including title, project, country, client, procurement type, method, sector, notice type, and identifiers.
Countries and statuses use exact case-insensitive matches.
Notice types use partial case-insensitive matches, so Contract Award can match a longer source label.
Date boundaries are inclusive.
If valid filters match no records, the run succeeds with an empty dataset.
Detail enrichment
Set includeDetails to true to retrieve richer public notice fields.
This is particularly useful for contract awards, where ECEPP may publish:
- πΆ signed value and currency
- π’ contracting party
- π¦ lot number, title, and description
- ποΈ signature and scheduled completion dates
- π§ project and business-sector context
- βοΈ contact details when included in the public notice
Set it to false for fast index-only monitoring.
Scheduling tender monitoring
Use an Apify schedule to run the Actor daily or weekly.
Apply a recent publishedFrom boundary and stable keyword/country filters.
Send the resulting dataset to a webhook, email workflow, Slack automation, database, or change-detection process.
Use displayNoticeId or eceppId as a downstream deduplication key.
Store previous records if you need to detect deadline, status, addendum, or award changes over time.
Integrations
Google Sheets
Export a recurring notice feed for bid qualification and ownership.
Webhooks and Make
Trigger an alert when a new record matches a target country or notice type.
Zapier
Create CRM opportunities or tasks from new tender records.
Data warehouses
Load JSON or CSV into BigQuery, Snowflake, PostgreSQL, or another analytics system.
Slack and Microsoft Teams
Post concise deadline alerts with the original detailUrl.
Use with the Apify API in Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/ebrd-ecepp-procurement-notices-scraper').call({keyword: 'energy',statuses: ['Open'],includeDetails: true,maxItems: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use with the Apify API in Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/ebrd-ecepp-procurement-notices-scraper").call(run_input={"keyword": "consultant", "maxItems": 20, "includeDetails": True})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~ebrd-ecepp-procurement-notices-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword":"water","maxItems":10,"includeDetails":true}'
Retrieve items from the run's default dataset after it finishes.
Use EBRD procurement data with MCP
Connect Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/ebrd-ecepp-procurement-notices-scraper"
Claude Desktop, Cursor, and VS Code can use this MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/ebrd-ecepp-procurement-notices-scraper"}}}
Example prompts:
- βFind open EBRD water tenders and summarize their closing dates.β
- βExtract recent Ukraine contract awards and rank them by signed value.β
- βCreate a table of consultancy notices by country, client, and method.β
Tips for reliable results
- Use ECEPP's exact country wording.
- Start broad when discovering source terminology, then add filters.
- Keep detail concurrency at 4 unless a larger workload requires more.
- Use index-only mode when project and award fields are unnecessary.
- Keep source IDs and URLs in downstream systems for traceability.
- Remember that source publication and deadline availability varies by notice type.
Troubleshooting
Why did my run return no notices?
Remove filters one at a time. An exact country or status value may not match ECEPP wording, or the selected date window may contain no matching public records.
Why is a contract value or contractor missing?
Those fields appear only when ECEPP publishes an award or contract section. Enable includeDetails and verify the source notice contains the field.
Why was my URL rejected?
The Actor accepts only the supported public ECEPP search and notice-detail routes. External URLs and other ECEPP paths fail closed to preserve product scope.
Data quality and source changes
The Actor extracts public source data as published by EBRD ECEPP.
It preserves both display and ECEPP identifiers because they can differ.
Dates labeled as UK time are converted to UTC with daylight-saving awareness.
If the source search table disappears or changes so completely that no notices can be parsed, the run fails rather than silently returning a false success.
Individual detail failures fall back to the valid search record.
Is scraping EBRD ECEPP legal?
This Actor accesses anonymous public procurement pages.
Users are responsible for complying with applicable laws, EBRD terms, source licenses, and privacy obligations.
Do not use the Actor to overload the site, automate bid submission, access restricted materials, or republish personal contact data without a lawful purpose.
Use conservative limits and retain source attribution.
This information is not legal advice.
FAQ
Does it require an EBRD account?
No. The supported search and public notice pages are anonymous.
Can it submit a tender response?
No. It is a public-data extraction and monitoring tool only.
Can I scrape one exact notice?
Yes. Add its public viewNotice.html?displayNoticeId=... URL to searchUrls.
Can I monitor awards?
Yes. Filter noticeTypes with Contract Award and enable details.
Are dates strings or timestamps?
Output dates are ISO 8601 UTC strings suitable for sorting and integrations.
Does it use a proxy or browser?
No proxy or browser is required for the current anonymous server-rendered ECEPP pages.
Related procurement scrapers
Combine EBRD intelligence with other public procurement sources:
- UNGM Tender Opportunities Scraper
- World Bank Procurement Notices Scraper
- TED EU Tenders Scraper
- UK Contracts Finder Scraper
Always verify related Actor availability and choose the portal matching your target procurement authority.
Source and support
Source: EBRD ECEPP.
For a reproducible support request, include the Actor run ID, input, expected notice, and source URL.
Do not include private bid documents, credentials, or confidential procurement information.