# Qconcursos — 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 thousands of Brazilian public exam questions filtered by discipline, examining board, and subject to help prepare for concursos. Access detailed information about specific questions and browse the complete catalog of available exam topics and institutions.

**Category:** Education | **Website:** [www.qconcursos.com/questoes-de-concursos/questoes](https://www.qconcursos.com/questoes-de-concursos/questoes) | **Docs:** [parse.bot/marketplace/fbc8408d-a2ba-405f-ab4b-0d2e17ffe363/qconcursos-com-api](https://parse.bot/marketplace/fbc8408d-a2ba-405f-ab4b-0d2e17ffe363/qconcursos-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-qconcursos-com-api-fbc8408d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_question

Get details of a single exam question by its unique slug identifier. Returns the full question including enunciation, alternatives, metadata (year, banca, institution, exam), and answer when publicly available.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Question slug identifier (e.g. '10131b30-79'). Obtained from search_questions results. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-qconcursos-com-api-fbc8408d/get_question \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### list_disciplines

List all available disciplines (subject areas) that can be used to filter questions. Each discipline has an ID and a name in Portuguese.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-qconcursos-com-api-fbc8408d/list_disciplines \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_examining_boards

List all available examining boards (bancas) that can be used to filter questions. Each board has an ID, acronym, and full name.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-qconcursos-com-api-fbc8408d/list_examining_boards \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### list_subjects

List subjects (topics) available within one or more disciplines. Subjects are hierarchical with nested sub-subjects. Returns a flat list of all subjects across the specified disciplines.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `discipline_ids` | string | Yes | Comma-separated discipline IDs to get subjects for (e.g. '26' or '26,21'). IDs from list_disciplines endpoint. |

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

### search_questions

Search and filter public exam questions. Supports keyword search, filtering by discipline, subject, examining board, institution, job, year, scholarity level, modality, and difficulty. Returns 20 questions per page. Results are ordered by most recent by default.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `difficulty` | string | No | Comma-separated difficulty levels: 1 (Muito Fácil), 2 (Fácil), 3 (Médio), 4 (Difícil), 5 (Muito Difícil). |
| `discipline_ids` | string | No | Comma-separated discipline IDs to filter by (e.g. '26' or '26,21'). IDs from list_disciplines endpoint. |
| `examining_board_ids` | string | No | Comma-separated examining board IDs to filter by. IDs from list_examining_boards endpoint. |
| `institute_ids` | string | No | Comma-separated institution/organization IDs to filter by. |
| `job_ids` | string | No | Comma-separated job/position IDs to filter by. |
| `keyword` | string | No | Free-text keyword to search in question content. |
| `modality_ids` | string | No | Comma-separated modality IDs: 1 (Múltipla Escolha), 2 (Certo ou Errado). |
| `page` | integer | No | Page number for pagination. |
| `scholarity_ids` | string | No | Comma-separated scholarity level IDs: 1 (Fundamental), 2 (Médio), 3 (Superior). |
| `subject_ids` | string | No | Comma-separated subject IDs to filter by. IDs from list_subjects endpoint. |
| `year` | string | No | Comma-separated publication years to filter by (e.g. '2024' or '2023,2024'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-qconcursos-com-api-fbc8408d/search_questions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"difficulty":"<string>","discipline_ids":"<string>","examining_board_ids":"<string>","institute_ids":"<string>","job_ids":"<string>","keyword":"<string>","modality_ids":"<string>","page":"<integer>","scholarity_ids":"<string>","subject_ids":"<string>","year":"<string>"}'
```
