# Stockholm University — 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.

> Search and explore Stockholm University's complete course catalog to find specific courses, browse academic programs, check class schedules, and discover available subjects. Get detailed information about any course offering to plan your studies and manage your academic schedule.

**Category:** Education | **Website:** [su.se/](https://su.se/) | **Docs:** [parse.bot/marketplace/9ccb6418-a86b-4824-a4ed-a3eeb6bb739d/su-se-api](https://parse.bot/marketplace/9ccb6418-a86b-4824-a4ed-a3eeb6bb739d/su-se-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-su-se-api-9ccb6418/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_course_detail

Retrieve full details for a specific course or program offering by its catalog URL path. Returns education metadata (code, name, description, credits, entry requirements, organisation), event/instance data (scheduling, admission, cost), literature links, syllabus archive link, TimeEdit base URL, course report URL, and contact elements. The URL path is obtained from search results items' occasions[].uri field.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `url` | string | Yes | Course detail page URL path from search results occasions[].uri (e.g. '/utbildning/utbildningskatalog/fi/fimf10?semester=HT2025&eventcode=10031'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-su-se-api-9ccb6418/get_course_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"<string>"}'
```

### get_course_schedule

Construct and return the direct TimeEdit schedule link for a specific course instance. The semester and event_code identify the exact course offering, obtained from search results occasions[].eventCode and occasions[].semester fields.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `event_code` | string | Yes | Event code for the course instance, from search results occasions[].eventCode (e.g. '10031'). |
| `semester` | string | Yes | Semester code (e.g. 'VT2026', 'HT2025'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-su-se-api-9ccb6418/get_course_schedule \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"event_code":"<string>","semester":"<string>"}'
```

### list_subjects

Retrieve the list of available filter facets from the course catalog. Returns all facet groups including education levels, education types, semesters, study forms, study times, study paces, teaching languages, institutions, and academic subjects. Useful for discovering valid filter values for search_courses and search_programs.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `language` | string | No | Interface language: 'sv' (Swedish) or 'en' (English). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-su-se-api-9ccb6418/list_subjects \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"language":"<string>"}'
```

### search_courses

Full-text search over Stockholm University's course catalog. Supports filtering by education level, semester, teaching language, study form, study pace, study time, and institution. Returns paginated results with course metadata including credits, subjects, and occasion details. Each course item includes a URI for fetching full details via get_course_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `institution` | string | No | Organisation/institution ID filter. Comma-separated for multiple. |
| `language` | string | No | Interface language: 'sv' (Swedish) or 'en' (English). |
| `level` | string | No | Education level ID filter. Comma-separated for multiple values. '1' for Grundnivå, '2' for Avancerad nivå. |
| `page` | integer | No | Page number (0-based). |
| `query` | string | No | Search keyword (e.g. 'matematik'). |
| `semester` | string | No | Semester code filter (e.g. 'HT2026', 'VT2026'). Comma-separated for multiple. |
| `study_form` | string | No | Study form ID filter. '1' for Normal, '2' for Distance. Comma-separated for multiple. |
| `study_pace` | string | No | Study pace code filter. Values: '25', '50', '75', '100'. Comma-separated for multiple. |
| `study_time` | string | No | Study time ID filter. '101052' for Dagtid, '101055' for Kvällstid. Comma-separated for multiple. |
| `teaching_language` | string | No | Teaching language code filter. 'SWE' for Swedish, 'ENG' for English. Comma-separated for multiple. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-su-se-api-9ccb6418/search_courses \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"institution":"<string>","language":"<string>","level":"<string>","page":"<integer>","query":"<string>","semester":"<string>","study_form":"<string>","study_pace":"<string>","study_time":"<string>","teaching_language":"<string>"}'
```

### search_programs

Full-text search over Stockholm University's degree program catalog. Supports filtering by education level, semester, and institution. Returns paginated results with program metadata. Each program item includes a URI for fetching full details via get_course_detail.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `institution` | string | No | Organisation/institution ID filter. Comma-separated for multiple. |
| `language` | string | No | Interface language: 'sv' (Swedish) or 'en' (English). |
| `level` | string | No | Education level ID filter. '1' for Grundnivå, '2' for Avancerad nivå. Comma-separated for multiple. |
| `page` | integer | No | Page number (0-based). |
| `query` | string | No | Search keyword. |
| `semester` | string | No | Semester code filter (e.g. 'HT2026'). Comma-separated for multiple. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-su-se-api-9ccb6418/search_programs \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"institution":"<string>","language":"<string>","level":"<string>","page":"<integer>","query":"<string>","semester":"<string>"}'
```
