# Ibass Jamb — 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 Nigerian educational institutions and discover their specific course requirements, including UTME subjects and O'level prerequisites, to make informed decisions about your tertiary education options. Find institutions by type and browse the detailed admission criteria for your desired programs all in one place.

**Category:** Education | **Website:** [ibass.jamb.gov.ng/](https://ibass.jamb.gov.ng/) | **Docs:** [parse.bot/marketplace/c3981abc-65c0-4c03-b247-e5797ad0ad22/ibass-jamb-gov-ng-api](https://parse.bot/marketplace/c3981abc-65c0-4c03-b247-e5797ad0ad22/ibass-jamb-gov-ng-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/ibass-jamb/`
**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 institution courses

Get all courses/programmes offered by a specific institution. Each course includes UTME subject combinations, O'level requirements (utme_requirements HTML), direct entry requirements, and remarks. Returns paginated results with 20 items per page. The query param filters courses by name within the institution.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `institution_id` | integer | Yes | The ID of the institution (from search_institutions results) |
| `page` | integer | No | Page number for pagination (1-based) |
| `query` | string | No | Search keyword for courses within the institution |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ibass-jamb/get-institution-courses \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"institution_id":"<integer>","page":"<integer>","query":"<string>"}'
```

### List institution types

Returns all available institution types (NCE, ND, DEGREE AWARDING INSTITUTIONS). Each type carries a regulator_type and a numeric id usable as a filter in search_institutions. The list is small and stable — cache client-side.

**Estimated cost:** Metered

_No parameters required._

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

### Search institutions

Search for institutions in the JAMB brochure. Supports filtering by institution type ID, category ID, and name keyword. Returns paginated results with 20 items per page. Without filters returns all institutions ordered alphabetically.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_id` | integer | No | Filter by institution category ID |
| `page` | integer | No | Page number for pagination (1-based) |
| `query` | string | No | Search keyword for institution name |
| `type_id` | integer | No | Filter by institution type ID. Obtained from list_institution_types. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/ibass-jamb/search-institutions \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category_id":"<integer>","page":"<integer>","query":"<string>","type_id":"<integer>"}'
```

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