# 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 for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/credits/xcontest/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## 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/credits/xcontest/get-national-contests-list \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-daily-score-hg \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-daily-score-pg \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-flight-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-pg-ranking \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-pilot-detail \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-pilots-list \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-uk-rules \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -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/credits/xcontest/get-world-daily-score-pg \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"date":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://paywithlocus.com/agent/index.md): every Locus agent page.