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

> Discover upcoming concerts, theater shows, and events at Amsterdam's Melkweg venue by browsing the full agenda, filtering by category or genre, searching the archive, or checking newly announced performances. Find detailed information about specific events and see which shows offer free admission for members.

**Category:** Entertainment | **Website:** [melkweg.nl/](https://melkweg.nl/) | **Docs:** [parse.bot/marketplace/81e45e20-a067-4849-8fc9-ba042405cc95/melkweg-nl-api](https://parse.bot/marketplace/81e45e20-a067-4849-8fc9-ba042405cc95/melkweg-nl-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-melkweg-nl-api-81e45e20/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_agenda

Get the full agenda of upcoming events at Melkweg. Returns all scheduled events with summary details including title, date, category, genres, and ticket status. No filtering applied.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_agenda \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_agenda_by_category

Get agenda events filtered by category. Filtering is case-insensitive. Returns events matching the specified category from the full agenda.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | Yes | Category name (case-insensitive). Accepted values: Concert, Clubnacht, Film, Expositie, Festival. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_agenda_by_category \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>"}'
```

### get_agenda_by_date

Get agenda events for a specific date. Matches events whose start date begins with the provided date string. Returns total:0 with an empty events array if no events are scheduled for that date.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | Yes | Date in YYYY-MM-DD format (e.g. '2026-07-13') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_agenda_by_date \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>"}'
```

### get_agenda_by_genre

Get agenda events filtered by genre tag. Filtering is case-insensitive. Returns events that have the specified genre in their tags list.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `genre` | string | Yes | Genre name (case-insensitive). Verified values: Pop, Electronic, Punk, Indie, Jazz, Funk, Soul, R&B. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_agenda_by_genre \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"genre":"<string>"}'
```

### get_event_detail

Get detailed information for a specific event by its slug. Returns full event details including HTML description, timetable, ticket prices, venue rooms, and links. The slug is available from the agenda listing.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Event slug from the agenda listing (e.g. 'the-story-so-far-10-06-2026') |

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

### get_free_for_members

Get events that are free for Melkweg members. Returns only events from the agenda where is_free_for_members is true.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_free_for_members \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_just_announced

Get newly announced events (announced within the last 14 days from current date). Returns events from the agenda that were recently announced, sorted by announcement date.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-melkweg-nl-api-81e45e20/get_just_announced \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_events

Search for events using keywords via Algolia. Searches upcoming events by artist name, event name, or genre. Returns paginated results. Pages are 0-indexed; requesting a page beyond the last page (page >= nbPages) returns an empty results array.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number, 0-indexed. Must be less than nbPages to receive results. |
| `query` | string | Yes | Search keyword (artist name, event name, genre) |

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