Dubai eSupply Tenders Scraper avatar

Dubai eSupply Tenders Scraper

Pricing

from $3.50 / 1,000 tenders

Go to Apify Store
Dubai eSupply Tenders Scraper

Dubai eSupply Tenders Scraper

Dubai government tenders and RFQs from eSupply: project code and title, buying entity, supply category, description, publication date, closing date, published lots and the opportunity link. Filter by keyword, entity, category or date window.

Pricing

from $3.50 / 1,000 tenders

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Features

Limited permissions

Share

Dubai government tenders and RFQs from eSupply (esupply.dubai.gov.ae), the shared procurement portal of more than 40 Dubai government entities. Get one clean row per opportunity: project code and title, buying entity, supply category, description, publication date and time, closing date and time, response currency, the published lots and the opportunity link.

Use it for tender monitoring and alerts: schedule a daily run with your keyword, entity or category and send the new opportunities to email, Slack or a spreadsheet.

Use cases

  • Watch new Dubai government opportunities by keyword, entity or supply category.
  • Build a daily feed of open tenders before the closing date closes.
  • Follow one entity's pipeline, for example a municipality, a health authority or the roads and transport authority.
  • Keep the full description and the published lots next to each opportunity.
  • Review past opportunities to see how an entity buys and how often.

What it returns

Every row has source, country, tenderId, tenderNumber, projectCode, title, titleEnglish, description, buyer, category, procurementMethod, status, publishedAt, deadlineAt, estimatedValue, currency, documents, notes, lots, url, changeType, changedFields, detailIssue, sourceQuery and scrapedAt.

  • title is the project title exactly as the buying entity published it (English on this portal). titleEnglish stays null because no separate translation is published.
  • tenderNumber is the portal's project code, e.g. tender_244596; projectCode carries the same value.
  • publishedAt and deadlineAt are ISO 8601 with the UAE offset (+04:00).
  • status is open for the current opportunity list and closed for the past list.
  • currency is the response currency printed by the portal, usually AED. No estimated or contract value is published, so estimatedValue stays null.
  • lots lists the published lots with their code (rfq_249364), title and closing time.
  • documents is null: the attachment list is only available to a registered supplier, so the opportunity link is the way to the official files.
  • description and notes come from the opportunity page and are null on a list-only run.
  • If one opportunity page cannot be read, the row is still delivered with detailIssue explaining what was missing.
  • Rows are deduplicated on the eSupply opportunity id.

Input

FieldTypeDefaultWhat it does
keywordstring""Text in the project title, buying entity and supply category.
buyerstring""Only opportunities whose buying entity contains this text.
categorystring""Only opportunities in this supply category, e.g. Supplies or Services.
statusstringopenopen for the current list, closed for the most recently closed tenders.
publishedFrom, publishedTostring""Publication date window, YYYY-MM-DD.
closingFrom, closingTostring""Closing date window, YYYY-MM-DD.
maxResultsinteger20Maximum tenders returned.
maxScanPagesinteger5List pages to scan (100 tenders each) before the filters are applied.
includeDetailsbooleantrueRead each opportunity page for the description, notes and lots. Slower.
onlyNewSinceLastRunbooleanfalseReturn only tenders that are new or changed since the previous run.
stateKeystring""Optional name for the saved feed; derived from the filters when empty.

All filters are optional and can be combined. An empty input returns the current open opportunities, soonest closing first.

Example queries

Open opportunities for vehicle parts and maintenance closing this month:

{
"keyword": "maintenance",
"closingFrom": "2026-11-10",
"closingTo": "2026-11-30",
"maxResults": 40
}

One entity's open opportunities, without the slower page reads:

{"buyer": "Dubai Municipality", "maxResults": 50, "includeDetails": false}

Recently closed opportunities:

{"status": "closed", "closingFrom": "2026-10-27", "closingTo": "2026-11-10", "maxResults": 50}

A daily alert feed for a category:

{"category": "Services", "onlyNewSinceLastRun": true, "stateKey": "services-daily"}

Use it as a daily feed

Turn on onlyNewSinceLastRun and schedule the Actor once a day. The first run returns every matching tender; later runs return only tenders that are new, or whose deadline, status, title or documents changed, with changeType set to new or changed and changedFields listing what moved. Tenders that have not changed are not delivered and not charged. Each saved search keeps its own history, so different keywords stay separate; stateKey names the history explicitly.

Output example

{"source":"esupply.dubai.gov.ae","country":"United Arab Emirates","tenderId":"247034","tenderNumber":"tender_244596","projectCode":"tender_244596","title":"12628501 STANDARD","titleEnglish":null,"description":"1: [120-31938] FILTER HYDRAULIC OIL 402652A1/ 84226258 / CASE SHOVEL WHEEL LOADER - 2 EA 2: [120-31939] SEPARATOR WATER 2992447 / CASE SHOVEL WHEEL LOADER - 2 EA","buyer":"Dubai Municipality","category":"Other","procurementMethod":null,"status":"open","publishedAt":"2026-11-06T09:25:00+04:00","deadlineAt":"2026-11-10T07:00:00+04:00","estimatedValue":null,"currency":"AED","documents":null,"notes":null,"lots":[{"code":"rfq_249364","title":"12628501 STANDARD","closingAt":"2026-11-10T07:00:00+04:00"}],"url":"https://esupply.dubai.gov.ae/esop/toolkit/opportunity/current/247034/detail.si","changeType":null,"changedFields":null,"detailIssue":null,"sourceQuery":"status open","scrapedAt":"2026-11-10T06:58:07+00:00"}

Limits and caveats

  • The public list holds 100 tenders per page and the portal applies no usable filters through its public links, so each run scans maxScanPages pages and applies your filters locally. Five pages cover the whole current opportunity list.
  • The past list holds close to 200,000 rows back to 2012 and starts at the oldest, so a closed run reads it from the most recent end and walks back through maxScanPages pages. Raise maxScanPages for a wider review window.
  • Runs with includeDetails on read one extra page per tender and take longer than list-only runs.
  • No estimated contract values are published; estimatedValue remains null.
  • Some entities truncate long project titles in the list; the full title comes from the opportunity page when details are on.
  • If the portal cannot be read, the run stops with a plain status message; rows already collected stay in the dataset.
  • If nothing matches, the run succeeds with an empty dataset.

FAQ

How fresh is the data? Every run reads eSupply live.

How do I get only new tenders each day? Turn on onlyNewSinceLastRun and schedule a daily run. Tenders you have already received are not sent again.

Do I get the tender documents? The file list needs a registered supplier account. url opens the official opportunity, and registered suppliers can download the documents there.

What does currency mean? It is the response currency the buyer expects offers in, usually AED. No contract value is published.

What if an opportunity page fails? The tender row is still delivered with detailIssue set.

Price

You pay per result: each delivered tender row is one result, plus a small run-start charge. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no results. Platform usage is included in the price.

Custom sources and support

Need another Gulf or Saudi tender portal, a custom field, or a bulk or daily feed? Email automat42@outlook.com. For questions or issues, you can also contact us from the Actor page.