# Bachelorsportal — 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 discover bachelor's degree programmes worldwide with detailed information about universities, tuition fees, programme duration, ratings, and available scholarships to help you find the perfect fit for your studies. Filter and compare programmes across institutions globally to make informed decisions about your higher education options.

**Category:** Education | **Website:** [www.bachelorsportal.com/](https://www.bachelorsportal.com/) | **Docs:** [parse.bot/marketplace/c016a3bc-09a2-433b-9ad0-50f00e4ce3cc/bachelorsportal-com-api](https://parse.bot/marketplace/c016a3bc-09a2-433b-9ad0-50f00e4ce3cc/bachelorsportal-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/bachelorsportal/`
**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 programme details

Get detailed information about a specific bachelor's programme by its ID, including description, university, location, start date, and available scholarships. The programme ID is obtained from search_programmes results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `programme_id` | string | Yes | Numeric programme ID from search_programmes results (e.g. '82663'). |

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

### Search programmes

Search bachelor's degree programmes with optional text query, country, and discipline filters. Returns paginated results with programme summaries including university, location, fees, duration, and ratings. Pagination is controlled by page and page_size; omitting all filters returns all programmes sorted by default relevance.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `country` | string | No | Country ID to filter programmes by location (e.g. '30' for United Kingdom). IDs correspond to the country_iso and internal identifiers used by the site. |
| `discipline` | string | No | Discipline ID to filter programmes by field of study (e.g. '281' for Computer Sciences). Discipline IDs are returned in the search API facets. |
| `page` | integer | No | Page number for pagination (1-based). |
| `page_size` | integer | No | Number of results per page (1-50). |
| `query` | string | No | Free-text search query for programme name or field of study (e.g. 'computer science', 'engineering'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/bachelorsportal/search-programmes \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"country":"<string>","discipline":"<string>","page":"<integer>","page_size":"<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.