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

> Track live paragliding and hang-gliding contest scores, view pilot rankings and performance details, and explore flight information across UK competitions and worldwide events. Access comprehensive contest data including daily leaderboards, pilot profiles, and competition rules to stay updated on the aerial sports community.

**Category:** Sports | **Website:** [xcontest.org/](https://xcontest.org/) | **Docs:** [parse.bot/marketplace/a2d12269-f900-483e-8ffd-d3dc7f9962b9/xcontest-org-api](https://parse.bot/marketplace/a2d12269-f900-483e-8ffd-d3dc7f9962b9/xcontest-org-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-xcontest-org-api-a2d12269/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_national_contests_list

Fetches all national, regional, club, and event XContest competitions worldwide. Each contest includes name, URL, category classification, and whether it is newly added.

**Estimated cost:** Metered

_No parameters required._

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

### get_uk_daily_score_hg

Fetches UK daily hang-glider flight scores for a specific date sorted by points descending. Includes FAI class 1 (flexwing) and class 5 (rigid) hang-gliders.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Date in YYYY-MM-DD format or 'last' for the most recent scoring day. |
| `limit` | integer | No | Maximum number of flight results to return. |
| `start` | integer | No | Zero-based start index for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_daily_score_hg \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>","limit":"<integer>","start":"<integer>"}'
```

### get_uk_daily_score_pg

Fetches UK daily paragliding flight scores for a specific date sorted by points descending. Each flight includes pilot info, glider, takeoff location, and route scoring. Use 'last' for the most recent scoring day.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Date in YYYY-MM-DD format or 'last' for the most recent scoring day. |
| `limit` | integer | No | Maximum number of flight results to return. |
| `start` | integer | No | Zero-based start index for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_daily_score_pg \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>","limit":"<integer>","start":"<integer>"}'
```

### get_uk_flight_detail

Fetches full flight details including route turnpoints, pilot info, tracklog metadata, flight statistics (duration, max altitude, tracklog distance), and joint flights. Requires Turnstile verification. The flight_ident parameter (from daily score results) is preferred as it enables reliable verification; flight_id alone may not work for all flights.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `flight_id` | string | No | Numeric flight ID (e.g. '6584596'). Found in daily score results as the 'id' field. Note: flight_ident is preferred for reliable access. |
| `flight_ident` | string | No | Flight identifier in format username/DD.MM.YYYY/HH:MM (e.g. 'cefn/19.08.2026/11:12'). Found in daily score results as the 'ident' field. Preferred over flight_id. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_flight_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"flight_id":"<string>","flight_ident":"<string>"}'
```

### get_uk_pg_ranking

Fetches UK PG season ranking for a category with cumulative points sorted by rank. Each entry includes pilot info and whether the score counts toward the season total.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Ranking category identifier. Accepted values: 'open', 'performance', 'sport', 'standard'. |
| `limit` | integer | No | Maximum number of results to return. |
| `start` | integer | No | Zero-based start index for pagination. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_pg_ranking \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","limit":"<integer>","start":"<integer>"}'
```

### get_uk_pilot_detail

Fetches full pilot profile by numeric ID including season rankings across categories, flight statistics, personal records by route type, glider information, and club membership.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `pilot_id` | string | Yes | Numeric pilot ID (e.g. '26412'). Can be found in get_uk_pg_ranking results as pilot.id. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_pilot_detail \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pilot_id":"<string>"}'
```

### get_uk_pilots_list

Fetches pilots registered in the UK XContest with registration order ranking, flight count, and points. Paginated in increments of 50.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `search` | string | No | Search term to filter pilots by name. |
| `start` | integer | No | Zero-based start index for pagination (increments of 50). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_uk_pilots_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"search":"<string>","start":"<integer>"}'
```

### get_uk_rules

Fetches the UK XContest rules, scoring formula, categories, handicaps, and season information as plain text. Includes entry instructions, prize claim process, and airspace compliance requirements.

**Estimated cost:** Metered

_No parameters required._

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

### get_world_daily_score_pg

Fetches global World daily paragliding scores sorted by points descending. Returns up to 100 flights from around the world for the current season year.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `date` | string | No | Date in YYYY-MM-DD format or 'last' for the most recent scoring day. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-xcontest-org-api-a2d12269/get_world_daily_score_pg \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>"}'
```
