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

> Access study documents, browse course materials, and retrieve institution details from Studocu. Look up public user profiles, explore documents available for a given course, and fetch related document recommendations.

**Category:** Education | **Website:** [studocu.com/](https://studocu.com/) | **Docs:** [parse.bot/marketplace/070bde6a-05a9-4b1c-ae31-938d0245df9b/studocu-com-api](https://parse.bot/marketplace/070bde6a-05a9-4b1c-ae31-938d0245df9b/studocu-com-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-studocu-com-api-070bde6a/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_course_documents

Get a list of document IDs for a specific course, sorted by rating. Returns paginated results with cursor-based pagination links. Each item contains course and document IDs with self links.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `course_id` | string | Yes | The numeric ID of the course. |
| `limit` | integer | No | Number of documents to return per page. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-studocu-com-api-070bde6a/get_course_documents \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"course_id":"<string>","limit":"<integer>"}'
```

### get_document

Get detailed information about a study document including title, rating, course, institution, page count, and thumbnail URLs. Returns the document's metadata but not its content.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `document_id` | string | Yes | The numeric ID of the document. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-studocu-com-api-070bde6a/get_document \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document_id":"<string>"}'
```

### get_document_recommendations

Get recommended documents based on a given document ID. Returns an array of related document references classified by relevance. Results may be empty if no recommendations exist for the given document.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `document_id` | string | Yes | The numeric ID of the document to get recommendations for. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-studocu-com-api-070bde6a/get_document_recommendations \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"document_id":"<string>"}'
```

### get_institution

Get details about a university or institution including name, level, region, country, and course count. Returns stale_input with kind input_not_found if the institution does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `institution_id` | string | Yes | The numeric ID of the institution. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-studocu-com-api-070bde6a/get_institution \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"institution_id":"<string>"}'
```

### get_user_profile

Get the public profile details of a user including upload count, follower count, and download impact score. Returns stale_input with kind input_not_found if the user does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `user_id` | string | Yes | The numeric ID of the user. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-studocu-com-api-070bde6a/get_user_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"user_id":"<string>"}'
```
