# Europe Developer API

> Use when working with AI Engineer Europe 2026 developer-facing endpoints, public schedule JSON, speakers JSON, llms.txt files, MCP access, and the local aieng CLI.

- Skill: `swyxio/europe-developer-api` (Agent Skill)
- Install (CLI): `npx skillmds@latest add swyxio/europe-developer-api`
- Raw SKILL.md: https://api.skillmd.com/api/skills/swyxio/europe-developer-api/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: swyxio (https://skillmd.com/u/swyxio)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/swyxio/europe-developer-api

---


# Europe Developer & AI Endpoints

AI Engineer Europe 2026 exposes several developer-friendly endpoints for building apps, AI integrations, and tools on top of conference data.

## Available Endpoints

All endpoints are relative to `https://ai.engineer`:

| Endpoint | Description |
|---|---|
| `/europe/llms.txt` | Basic conference info + schedule overview (plain text) |
| `/europe/llms-full.txt` | Full details: all talks, descriptions, and speakers (plain text) |
| `/europe/sessions.json` | All sessions (talks + workshops) as JSON (no sensitive data) |
| `/europe/speakers.json` | All speakers as JSON (no sensitive data) |
| `/europe/mcp` | MCP (Model Context Protocol) server endpoint |

## Quick Start

### Fetch data with curl

```bash
# Basic info
curl https://ai.engineer/europe/llms.txt

# Full details
curl https://ai.engineer/europe/llms-full.txt

# JSON endpoints
curl https://ai.engineer/europe/sessions.json | jq .
curl https://ai.engineer/europe/speakers.json | jq .
```

### Use the npx CLI

```bash
# Show conference info
npx aieng europe

# List all speakers
npx aieng eu speakers

# List all talks
npx aieng eu talks

# Search for a speaker
npx aieng eu speakers --search "Matt"

# Filter talks by day
npx aieng eu talks --day "April 9"

# List all conferences
npx aieng --list
```

### MCP Integration

The MCP server at `/europe/mcp` implements the Model Context Protocol (JSON-RPC 2.0). You can use it with any MCP-compatible client.

**Available tools:**
- `get_conference_info` — Basic conference metadata
- `list_speakers` — All speakers (with optional search filter)
- `list_talks` — All talks (with optional day/type/track/search filters)
- `get_schedule` — Full schedule organized by day

**Example MCP request:**
```bash
curl -X POST https://ai.engineer/europe/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_speakers","arguments":{"search":"Anthropic"}}}'
```

**MCP client config (e.g. for Claude Desktop):**
```json
{
  "mcpServers": {
    "aie-europe": {
      "url": "https://ai.engineer/europe/mcp"
    }
  }
}
```

## Data Model

### Sessions JSON structure
```json
{
  "conference": "AI Engineer Europe 2026",
  "dates": "April 8-10, 2026",
  "location": "London, UK",
  "totalSessions": 100,
  "sessions": [
    {
      "title": "Session Title",
      "description": "Session description...",
      "day": "April 9",
      "time": "9:00-9:30am",
      "room": "Keynote",
      "type": "keynote",
      "track": "AI Agents",
      "speakers": ["Speaker Name"]
    }
  ]
}
```

### Speakers JSON structure
```json
{
  "conference": "AI Engineer Europe 2026",
  "totalSpeakers": 100,
  "speakers": [
    {
      "name": "Speaker Name",
      "role": "Role",
      "company": "Company",
      "twitter": "https://x.com/handle",
      "linkedin": "https://linkedin.com/in/...",
      "github": "https://github.com/...",
      "photoUrl": "https://ai.engineer/europe-speakers/photo.jpg",
      "sessions": [...]
    }
  ]
}
```

## Key Paths (in this repo)

- Data utility: `src/data/europe-public-data.ts`
- API routes: `src/pages/api/europe/`
- Schedule source data: `src/pages/europe/source/schedule.json`
- URL rewrites: `next.config.ts` (search for "Europe developer/AI endpoints")
- Inline section: `src/components/europe-2026/DeveloperEndpointsSection.jsx`
- npx CLI: `cli/aie/` (generic multi-conference CLI, published as `aieng`)

## Sensitive Fields (stripped from public endpoints)

The following fields from `schedule.json` are NOT exposed:
- `contact.email` — speaker email addresses
- `notes` — internal organizer notes
- `acceleventsSpeakerId` — internal Accelevents IDs
- `sessionId` — internal session IDs
- `invited` — whether speaker was invited vs CFP
- `cfpData.status`, `cfpData.dateSubmitted`, `cfpData.combinedAcceptances` — internal review data

## Notes

- All endpoints return CORS headers (`Access-Control-Allow-Origin: *`)
- JSON endpoints support `OPTIONS` preflight requests
- Data is cached (`s-maxage=3600, stale-while-revalidate=86400`)
- `pnpm lint` does not work on Next.js 16; use `npx tsc --noEmit` for type checking

