EBRD ECEPP Procurement Notices Scraper avatar

EBRD ECEPP Procurement Notices Scraper

Pricing

Pay per event

Go to Apify Store
EBRD ECEPP Procurement Notices Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

FieldMeaning
displayNoticeIdID used by the public detail URL
eceppIdECEPP notice identifier shown by the source
titleProcurement exercise or notice title
projectNameEBRD project name
ebrdProjectIdEBRD project identifier
countryProject country
clientNameProcuring client or executing agency
noticeTypeInvitation, award, addendum, or other source type
statusOpportunity state shown in search results
publicationDateISO UTC publication timestamp
closingDateISO UTC response deadline when available
procurementTypeGoods, works, consultancy, or other type
procurementMethodTendering method
businessSectorEBRD business sector
contractValueNumeric signed contract value when published
contractCurrencyThree-letter award currency
contractorNameAwarded contracting party when published
lotTitleAward lot title when published
detailUrlOriginal public ECEPP notice URL

Optional fields are omitted when ECEPP does not publish them for that notice.

How to scrape EBRD ECEPP notices

  1. Open the Actor input page.
  2. Leave the default ECEPP search URL or provide exact public notice URLs.
  3. Enter a keyword such as water, energy, or consultant.
  4. Optionally add countries, notice types, statuses, or date boundaries.
  5. Choose whether to enrich notice detail pages.
  6. Set a result limit appropriate for the workflow.
  7. Click Start.
  8. Open the Dataset tab to review or export records.

Start with 10 notices while refining filters.

Input parameters

InputTypeDefaultPurpose
searchUrlsarrayECEPP search pageSearch or exact public notice URLs
keywordstringwater prefillCase-insensitive text match
countriesstring[]emptyExact source country names
noticeTypesstring[]emptyPartial notice-type matches
statusesstring[]emptyExact opportunity states
publishedFromdateemptyInclusive publication lower bound
publishedTodateemptyInclusive publication upper bound
closingFromdateemptyInclusive closing lower bound
closingTodateemptyInclusive closing upper bound
includeDetailsbooleantrueEnrich project and award fields
maxItemsinteger25Maximum emitted notices
maxConcurrencyinteger4Simultaneous 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 ApifyClient
client = 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().items
print(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.

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.

Combine EBRD intelligence with other public procurement sources:

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.