Discover/Etimad API
live

Etimad APItenders.etimad.sa

Access Saudi government tenders from tenders.etimad.sa. List 9,000+ public RFPs, get tender details, and retrieve award results via 3 structured endpoints.

Endpoint health
verified 4d ago
list_tenders
get_tender_details
get_tender_awarding_results
3/3 passing latest checkself-healing
Endpoints
3
Updated
21d ago

What is the Etimad API?

The Etimad Tenders API provides access to over 9,000 public Saudi government procurement opportunities from tenders.etimad.sa across 3 endpoints. Use list_tenders to paginate through current RFPs sorted by submission date, get_tender_details to pull structured fields for a specific tender including agency name, contract duration, and reference number, and get_tender_awarding_results to check whether a tender has been awarded and to whom.

Try it
Page number (starts at 1).
Results per page (max 6, values above 6 are capped to 6).
Date filter ID. Accepted values: '5' for all dates.
api.parse.bot/scraper/0646094a-9d3e-4a24-9900-127441f6da21/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0646094a-9d3e-4a24-9900-127441f6da21/list_tenders?page=1&page_size=6&publish_date_id=5' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 tenders-etimad-sa-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.

from parse_apis.etimad_saudi_government_tenders_api import Etimad, Tender, TenderSummary, AwardingResult

etimad = Etimad()

# List recent tenders with automatic pagination
for tender_summary in etimad.tendersummaries.list(publish_date_id="5", limit=12):
    print(tender_summary.tender_name, tender_summary.agency_name, tender_summary.remaining_days)

    # Get full detail for one tender
    detail = tender_summary.details()
    print(detail.tender_name, detail.government_agency, detail.contract_duration)

    # Check awarding results
    for award in tender_summary.awarding_results.list():
        print(award.message)

# Direct lookup by tender_id_string
full_tender = etimad.tenders.get(tender_id_string="D6lj5E83dUApvNo8HT4i1A==")
print(full_tender.tender_name, full_tender.tender_type, full_tender.reference_number)
All endpoints · 3 totalmissing one? ·

List all public government tenders with pagination. Returns tender listings sorted by submission date (newest first). Over 9,000 tenders available. Each page returns up to 6 results (server-enforced cap). Paginates via integer page counter.

Input
ParamTypeDescription
pageintegerPage number (starts at 1).
page_sizeintegerResults per page (max 6, values above 6 are capped to 6).
publish_date_idstringDate filter ID. Accepted values: '5' for all dates.
Response
{
  "type": "object",
  "fields": {
    "page": "integer current page number requested",
    "tenders": "array of tender summary objects",
    "page_size": "integer results per page",
    "total_count": "integer total number of tenders matching the filter",
    "current_page": "integer current page as reported by the upstream API"
  },
  "sample": {
    "data": {
      "page": 1,
      "tenders": [
        {
          "tender_id": 1076084,
          "inside_ksa": null,
          "agency_name": "الهيئة السعودية للمياه",
          "branch_name": "إدارة الشراء",
          "buying_cost": 500,
          "tender_name": "توريد قطع غيار",
          "activity_name": "تجارة قطع الغيار الجديدة",
          "tender_number": "60020126",
          "financial_fees": 500,
          "remaining_days": 16,
          "tender_type_id": 1,
          "invitation_cost": 200,
          "remaining_hours": 6,
          "submission_date": "2026-06-11T00:52:38.6666232",
          "reference_number": "260539006546",
          "tender_id_string": "2Msmk90Zv6en0ekRBOssw==",
          "tender_status_id": 4,
          "tender_type_name": "منافسة عامة",
          "last_enquiries_date": "2026-06-21T00:52:38.6664836",
          "offers_opening_date": "2026-06-27T10:00:00",
          "conditional_booklet_price": 0,
          "last_offer_presentation_date": "2026-06-27T09:59:00"
        }
      ],
      "page_size": 6,
      "total_count": 8328,
      "current_page": 1
    },
    "status": "success"
  }
}

About the Etimad API

Tender Listings

The list_tenders endpoint returns paginated summaries of all publicly visible government tenders on the Etimad platform. Each call returns up to 6 results per page (server-enforced cap), with the total_count field indicating how many tenders match the active filter. Pagination is controlled via the page integer parameter, starting at 1. The publish_date_id parameter accepts '5' to retrieve tenders across all dates. The tender_id_string field in each result is the key you pass to the detail and awarding endpoints.

Tender Details

Passing a tender_id_string to get_tender_details returns a structured object with Arabic-labeled fields reflecting the Etimad portal's detail page. These include اسم المنافسة (tender name), رقم المنافسة (tender number), الرقم المرجعي (reference number), الجهة الحكوميه (issuing government agency), الغرض من المنافسة (stated purpose), نوع المنافسة (tender type), مدة العقد (contract duration), and حالة المنافسة (status). A top-level status field also returns the badge text from the portal page.

Award Results

The get_tender_awarding_results endpoint returns an awards array for completed tenders where results have been announced. For tenders still in progress, the awards array will be empty and the message field will contain an Arabic-language status string indicating results are pending. This lets you programmatically distinguish between awarded and open tenders without needing to parse detail page text.

Reliability & maintenanceVerified

The Etimad API is a managed, monitored endpoint for tenders.etimad.sa — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tenders.etimad.sa 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 tenders.etimad.sa 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.

Last verified
4d ago
Latest check
3/3 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor new Saudi government RFPs daily by paginating list_tenders and tracking total_count changes.
  • Build a procurement dashboard that maps each tender's الجهة الحكوميه (agency) to open contract opportunities.
  • Filter awarded contracts using get_tender_awarding_results to analyze which suppliers win government business.
  • Track contract durations (مدة العقد) across tender categories to benchmark typical procurement timelines.
  • Alert business development teams when tenders matching a target agency appear in new listing pages.
  • Cross-reference الرقم المرجعي reference numbers against internal procurement databases for compliance reporting.
  • Identify tender types (نوع المنافسة) most frequently issued by specific government bodies.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does tenders.etimad.sa have an official developer API?+
Etimad does not publish a documented public developer API. The platform at tenders.etimad.sa is intended for direct portal use by registered suppliers and government entities.
What does get_tender_details return and are the field names in English?+
The endpoint returns structured fields using Arabic-language keys that mirror the Etimad portal's detail page. Key fields include اسم المنافسة (tender name), الجهة الحكوميه (government agency), مدة العقد (contract duration), الغرض من المنافسة (purpose), and حالة المنافسة (status). There is also a top-level English status string and the queried tender_id_string.
How many results does list_tenders return per page, and can I increase it?+
Each page returns a maximum of 6 results. The page_size parameter accepts higher values, but they are capped at 6 by the platform. To retrieve more tenders, increment the page parameter and make additional requests.
Does the API support searching or filtering tenders by agency, category, or keyword?+
Currently the API supports pagination and a date filter (publish_date_id). Filtering by government agency, tender type, or keyword is not currently exposed. The API covers listing, detail lookup, and award results. You can fork it on Parse and revise to add filtering parameters if those fields are available from the source.
Can I retrieve the list of bidders or submitted bids for a tender, not just the final award?+
Bidder lists and individual bid submissions are not currently covered. The get_tender_awarding_results endpoint returns final award data once announced. You can fork the API on Parse and revise it to add an endpoint targeting bidder or submission data if that information is publicly accessible on the portal.
Page content last updated . Spec covers 3 endpoints from tenders.etimad.sa.
Related APIs in Government PublicSee all →
evergabe-online.de API
Search and retrieve public tender opportunities from Germany's e-Vergabe platform by keywords, contract types, CPV codes, and publication dates. Access detailed tender information and discover the latest procurement opportunities across construction and other sectors.
bdtender.com API
Search and browse tender listings from Bangladesh's largest tender portal, discovering opportunities by category, organization, and location while accessing real-time tender data and site statistics. Get detailed information on individual tenders, view live postings, and see what was published today to stay updated on the latest bidding opportunities.
eproc2.bihar.gov.in API
Access live tender listings from the Bihar Government e-Procurement portal to search and filter government contracts by department, status, and keywords. Get detailed tender information including specifications and deadlines, plus browse the complete directory of participating government departments.
eprocurement.gov API
Monitor India's public procurement opportunities by accessing active tenders, bids closing today, global tenders, high-value contracts, and cancelled tenders from the Central Public Procurement Portal. Search tender details, browse participating organizations, and track real-time procurement statistics to stay informed on government contracting opportunities.
tenders.gov.in API
Search and monitor current government tenders from India's Central Public Procurement Portal and GePNIC systems, filtering by organizations and accessing detailed tender information. Stay updated on the latest procurement opportunities and bids from Indian government agencies in one centralized location.
tenders.gov.uk API
Search and access UK government public procurement notices, tenders, and contract opportunities in real-time, with the ability to retrieve detailed notice information and browse standardized classification codes. Get comprehensive procurement data in structured formats to analyze tender patterns and find relevant contracting opportunities.
mahatenders.gov.in API
Access Maharashtra government tenders from mahatenders.gov.in, browsing them by closing date or by organization with full tender details and pagination support. Find and review procurement opportunities across different government departments in one place.
vergabe.rib.de API
Search and retrieve tender information, award notices, and EU prior information from the RIB eVergabe platform to stay updated on procurement opportunities and contract awards. Get detailed tender specifications and the latest news to monitor bidding opportunities and market developments.