# Quizbowlpackets — 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 browse thousands of quizbowl question sets across all competition levels, then access detailed metadata like difficulty, subjects, and download links for each packet. Find the perfect practice materials for High School, Collegiate, Middle School, or Pop Culture quizbowl competitions.

**Category:** Education | **Website:** [quizbowlpackets.com/](https://quizbowlpackets.com/) | **Docs:** [parse.bot/marketplace/7ff7b6e8-e9e8-4909-97ac-63ec76d69531/quizbowlpackets-com-api](https://parse.bot/marketplace/7ff7b6e8-e9e8-4909-97ac-63ec76d69531/quizbowlpackets-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-quizbowlpackets-com-api-7ff7b6e8/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_set_details

Get detailed information about a specific quizbowl set including its full packet list with file names, download URLs, and file sizes. Includes set metadata like difficulty, subjects, season, and comments. The set_id comes from list_sets or search_sets results.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `section` | string | No | Section the set belongs to. Accepted values: hs, college, ms, popculture |
| `set_id` | integer | Yes | The numeric set ID to retrieve details for (from list_sets or search_sets results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quizbowlpackets-com-api-7ff7b6e8/get_set_details \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"section":"<string>","set_id":"<integer>"}'
```

### list_sets

List all quizbowl question sets for a given section with optional filtering by difficulty, set type, subject, and year. Returns paginated results sorted by most recently posted. Each section (hs, college, ms, popculture) maps to a separate subdomain. The full dataset for a section is fetched server-side and filtered client-side, so total reflects post-filter count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `difficulty` | string | No | Filter by difficulty level. Accepted values: 1 (Novice), 2 (Regular), 3 (Regular-Plus), 4 (Nationals), or label names: novice, regular, regular-plus, nationals |
| `limit` | integer | No | Maximum number of results to return |
| `offset` | integer | No | Number of results to skip for pagination |
| `section` | string | No | Section to list sets from. Accepted values: hs, college, ms, popculture |
| `set_type` | string | No | Filter by set type. Accepted values: 1 (Tournament), 2 (Side Event), 3 (One-off Packet), 4 (Theme Tournament), or label names: tournament, side event, one-off packet, theme tournament |
| `subject` | string | No | Filter by subject keyword matched against the subjects field (e.g., 'History', 'Literature', 'All-Subject') |
| `year` | string | No | Filter by year substring in the date field (e.g., '2024', '2025') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quizbowlpackets-com-api-7ff7b6e8/list_sets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"difficulty":"<string>","limit":"<integer>","offset":"<integer>","section":"<string>","set_type":"<string>","subject":"<string>","year":"<string>"}'
```

### search_sets

Search for quizbowl sets by name, comments, or brief notes across one or all sections. Returns matching sets with full metadata. When section is specified, only that section is searched; when omitted, all four sections (hs, college, ms, popculture) are searched. Uses case-insensitive substring matching.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of results to return |
| `query` | string | Yes | Search query to match against set names, comments, and brief notes (case-insensitive substring match) |
| `section` | string | No | Limit search to a specific section. Accepted values: hs, college, ms, popculture. If omitted, searches all sections. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-quizbowlpackets-com-api-7ff7b6e8/search_sets \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","query":"<string>","section":"<string>"}'
```
