# Tenders Etimad — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Browse and search all public Saudi government tenders from the Etimad platform with detailed information including tender specifications and awarding results. Stay updated on procurement opportunities by accessing tender details and award outcomes in one centralized location.

**Category:** Government & Public Data | **Website:** [tenders.etimad.sa/Tender/AllTendersForVisitor?PageNumber=1](https://tenders.etimad.sa/Tender/AllTendersForVisitor?PageNumber=1) | **Docs:** [parse.bot/marketplace/cdd27019-78e5-4cd9-b912-26eaf721ab67/tenders-etimad-sa-api](https://parse.bot/marketplace/cdd27019-78e5-4cd9-b912-26eaf721ab67/tenders-etimad-sa-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-tenders-etimad-sa-api-cdd27019/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_tender_awarding_results

Get awarding/award results for a specific tender. Returns awarded supplier information if results have been announced, or a message indicating results are pending. Most active tenders will return a pending message; completed tenders may have award data.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tender_id_string` | string | Yes | Tender ID string (from list_tenders response field 'tender_id_string'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tenders-etimad-sa-api-cdd27019/get_tender_awarding_results \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tender_id_string":"<string>"}'
```

### get_tender_details

Get detailed information about a specific tender. Returns structured fields parsed from the Etimad portal detail page including tender name, reference number, purpose, contract duration, government agency, submission method, guarantee requirements, and status. Field names use Arabic labels as displayed on the portal (aliased to English attribute names in the SDK).

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tender_id_string` | string | Yes | Tender ID string (from list_tenders response field 'tender_id_string'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tenders-etimad-sa-api-cdd27019/get_tender_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"tender_id_string":"<string>"}'
```

### list_tenders

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.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number (starts at 1). |
| `page_size` | integer | No | Results per page (max 6, values above 6 are capped to 6). |
| `publish_date_id` | string | No | Date filter ID. Accepted values: '5' for all dates. |
| `tender_activity_id` | integer | No | Tender activity filter ID (maps to TenderActivityId upstream param). When omitted, all activities are returned. |
| `tender_category` | integer | No | Tender category filter ID (maps to TenderCategory upstream param). When omitted, all categories are returned. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tenders-etimad-sa-api-cdd27019/list_tenders \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","page_size":"<integer>","publish_date_id":"<string>","tender_activity_id":"<integer>","tender_category":"<integer>"}'
```
