Gov APIdewa.gov.ae ↗
Access live open tender listings from Dubai Electricity and Water Authority. Retrieve tender numbers, titles, status, dates, fees, and advertisement URLs in one call.
What is the Gov API?
The DEWA API exposes 1 endpoint — list_open_tenders — that returns the full set of currently open procurement tenders published by Dubai Electricity and Water Authority, each with 7 structured fields including tender number, title, status, submission dates, document fee, currency, and a direct advertisement URL. No pagination is required; a single request returns all active listings.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/92586cb7-f4ef-4aef-9925-1567c7c52e59/list_open_tenders' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace dewa-gov-ae-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: DEWA Open Tenders SDK — bounded, re-runnable; every call capped."""
from parse_apis.dewa_gov_ae_api import Dewa, ParseError
client = Dewa()
# List all open tenders, capped at 3 for this walkthrough
for tender in client.tenders.list(limit=3):
print(tender.tender_number, tender.title[:80], tender.status)
print(f" Fee: {tender.fee} {tender.currency}, Floating: {tender.floating_date}, Closing: {tender.closing_date}")
# Get the first tender for detailed inspection
first = client.tenders.list(limit=1).first()
try:
print(f"\nFirst tender: {first.tender_number}")
print(f" Title: {first.title}")
print(f" Advertisement URL: {first.advertisement_url}")
except ParseError as e:
print(f"Error fetching tenders: {e}")
print("exercised: tenders.list")
Retrieves all open tenders from DEWA's public tender listing page. Returns the complete set of currently listed tenders in a single response (no pagination needed — all tenders are served on one page). Each tender includes its number, title, status, dates, fee, and advertisement URL.
No input parameters required.
{
"type": "object",
"fields": {
"total": "integer count of tenders returned",
"tenders": "array of tender objects with tender_number, title, status, dates, fee, currency, and advertisement_url"
},
"sample": {
"data": {
"total": 53,
"tenders": [
{
"fee": "5250.00",
"title": "SUPPLY, INSTALLATION, TESTING & COMMISSIONING 132KV CABLE WORKS FOR AUTOSOUQ, CRYSTAL, DANAROAD, DSRTISLD, ELWOOD, HORIZON, MESMGOLF, NASEEMST, ORCHIDST, YFRAVALY, YLYSISLD 132/11KV SUBSTATIONS & NEW SFOH-BRDN 132KV CABLE CIRCUIT AND 132KV CABLE SHIFTING",
"status": "Extended",
"currency": "AED",
"closing_date": "30-Jul-2026",
"closing_time": null,
"floating_date": "20-Apr-2026",
"tender_number": "2132600052",
"advertisement_url": "https://www.dewa.gov.ae/api/sitecore/TenderDocumentList/ViewAttachment?tenderNumber=2132600052"
},
{
"fee": "630.00",
"title": "UPGRADATION OF STANDBY GENERATORS AT DISTRIBUTION CONTROL CENTER, QUASIS ON PLOT NO. 232-552 ANDUPGRADATION OF STANDBY GENERATORS AT DISTRIBUTION CONTROL CENTER, WARSAN SECOND ON PLOT NO. 622-159",
"status": "Extended",
"currency": "AED",
"closing_date": "30-Jul-2026",
"closing_time": null,
"floating_date": "19-May-2026",
"tender_number": "2132600053",
"advertisement_url": "https://www.dewa.gov.ae/api/sitecore/TenderDocumentList/ViewAttachment?tenderNumber=2132600053"
}
]
},
"status": "success"
}
}About the Gov API
What the API Returns
The list_open_tenders endpoint returns a total count and a tenders array. Each element in the array contains tender_number (DEWA's internal reference), title (the procurement subject), status (e.g. open, closing soon), dates (covering key milestones such as closing date), fee and currency (document purchase cost in AED or other stated currency), and advertisement_url — a direct link to the official tender notice page on dewa.gov.ae.
Endpoint Behavior
list_open_tenders takes no input parameters. It returns the complete current set of active tenders in a single response, matching what is publicly visible on DEWA's supplier tender listing page. Because all tenders are served in one response, there is no offset, page, or cursor parameter to manage. The total field lets you quickly verify how many records were returned without counting the array.
Coverage and Freshness
The API reflects the live state of DEWA's public tender board, which covers electricity, water, and infrastructure procurement contracts issued by the authority. Data includes only tenders that are currently listed as open; expired, awarded, or cancelled tenders that have been removed from the public listing are not returned. The advertisement_url field per tender can be used to retrieve full tender specifications and attachments directly from the DEWA portal.
The Gov API is a managed, monitored endpoint for dewa.gov.ae — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dewa.gov.ae changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dewa.gov.ae API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor new DEWA infrastructure contracts by polling
list_open_tendersand alerting whentotalincreases - Build a tender calendar by extracting
datesfields across all returned tenders - Filter procurement opportunities by
feeandcurrencyto identify no-cost or low-cost entry tenders - Aggregate DEWA tender titles into a keyword classifier to match against a supplier's service categories
- Track tender
statuschanges over time to measure average time from open to close - Populate a supplier CRM with
tender_numberandadvertisement_urlfor team assignment and follow-up - Feed DEWA open tenders into a multi-authority UAE government procurement aggregator
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does DEWA provide an official developer API for tender data?+
What does the `advertisement_url` field contain and what can I do with it?+
advertisement_url that links directly to the official DEWA notice page for that tender. Following that URL takes you to the full tender specification, including scope of work, eligibility criteria, and any downloadable documents — none of which are returned inline by the API itself.Does the API return historical or closed tenders?+
list_open_tenders returns only tenders currently listed as open on DEWA's public board. Closed, awarded, or cancelled tenders that have been removed from the live listing are not included. The API covers the current open set only. You can fork it on Parse and revise it to add an endpoint targeting any archived or historical tender section if DEWA publishes one.Can I filter tenders by category, department, or value?+
Are tender document attachments or full specifications returned by the API?+
tender_number, title, status, dates, fee, currency, and advertisement_url. Document-level content is accessible via the advertisement_url on the DEWA portal directly. You can fork it on Parse and revise to add an endpoint that fetches detail-page content for individual tenders.