# Bdtender — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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.

> 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.

**Category:** Government & Public Data | **Website:** [bdtender.com/](https://bdtender.com/) | **Docs:** [parse.bot/marketplace/e6d2fc35-1b84-4b56-817a-761727da5f35/bdtender-com-api](https://parse.bot/marketplace/e6d2fc35-1b84-4b56-817a-761727da5f35/bdtender-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get categories

Retrieve the full hierarchical tree of tender categories. Each node has an id, parent reference, and display text. Use category IDs in the search_tenders category filter.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get live tenders

Retrieve a paginated list of all currently live (active) tenders. Equivalent to an unfiltered search. Returns the same tender structure as search_tenders.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-live-tenders \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Get locations

Retrieve the full hierarchical tree of locations (districts and upazilas). Each node has an id, parent reference, and display text. Use location IDs in the search_tenders location filter.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-locations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get organizations

Retrieve the full hierarchical tree of government organizations and departments. Each node has an id, parent reference, and display text. Use organization IDs in the search_tenders organization filter.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-organizations \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get site statistics

Get current site-wide statistics: total live tenders, private tenders, corrigendum count, and number of tenders published today.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-site-statistics \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get tender detail

Retrieve basic information for a specific tender by its tender code. Returns listing data including work description, dates, source, advertisement types, and a note about authentication requirements for full details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `tender_id` | string | Yes | The unique tender code (e.g. '11525191'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-tender-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"tender_id":"<string>"}'
```

### Get tenders published today

Retrieve tenders published on the current date (Bangladesh time, UTC+6). Returns the same paginated structure as search_tenders filtered to today's publications. May return an empty list if no tenders have been published yet today.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/get-tenders-published-today \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>"}'
```

### Search tenders

Full-text search over Bangladesh tender listings. Supports filtering by keyword, category, organization, location, date range, and advertisement type. Returns paginated results with tender code, description, dates, source, and advertisement types. Note: category, organization, location, and advertisement type filters may return reduced results for unauthenticated access.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `adv_type` | string | No | Advertisement type filter. |
| `category` | string | No | Category ID from get_categories endpoint (e.g. 'T1', 'T2'). |
| `date_from` | string | No | Start date filter in DD/MM/YYYY format. |
| `date_to` | string | No | End date filter in DD/MM/YYYY format. |
| `location` | string | No | Location ID from get_locations endpoint (e.g. 'DDist-02'). |
| `organization` | string | No | Organization ID from get_organizations endpoint (e.g. 'DG62'). |
| `page` | integer | No | Page number for pagination. |
| `query` | string | No | Search keyword or tender ID to match against work descriptions. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bdtender/search-tenders \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"adv_type":"<string>","category":"<string>","date_from":"<string>","date_to":"<string>","location":"<string>","organization":"<string>","page":"<integer>","query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.