# Middleburycampus — 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 articles from The Middlebury Campus student newspaper, filtering by sections or keywords to discover the latest campus news and stories. Get full details on individual articles to stay informed about what's happening at Middlebury College.

**Category:** News & Media | **Website:** [www.middleburycampus.com/](https://www.middleburycampus.com/) | **Docs:** [parse.bot/marketplace/bc00b3b0-27ea-4744-8036-b57aefc972e9/middleburycampus-com-api](https://parse.bot/marketplace/bc00b3b0-27ea-4744-8036-b57aefc972e9/middleburycampus-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-middleburycampus-com-api-bc00b3b0/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_article

Retrieve the full content of a single article by its URL slug. Returns title, category, authors, publication date, featured image, and the complete article text.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `article_slug` | string | Yes | Article URL slug in format YYYY/MM/article-title-slug (e.g. '2026/05/provost-michelle-mccauley-reflects-on-three-decades-at-middlebury'). Obtained from search_articles or list_section_articles results. |

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

### list_section_articles

List articles from a specific section (category) of The Middlebury Campus. Returns paginated results with article metadata. Sections include news, local, arts-culture, opinion, sports.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | integer | No | Number of results per page. |
| `section` | string | No | Section slug to browse. Accepted values: news, local, arts-culture, opinion, sports. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-middleburycampus-com-api-bc00b3b0/list_section_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<integer>","section":"<string>"}'
```

### search_articles

Full-text search across The Middlebury Campus article archives. Returns paginated results ordered by date descending.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination. |
| `per_page` | integer | No | Number of results per page. |
| `query` | string | Yes | Search keywords to match against article content and titles. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-middleburycampus-com-api-bc00b3b0/search_articles \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","per_page":"<integer>","query":"<string>"}'
```
