# Tapology — 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 MMA and combat sports events with details like event name, date, time, location, and direct links to event pages. Stay updated on all the fights happening near you by accessing Tapology's comprehensive FightCenter event database.

**Category:** Sports | **Website:** [www.tapology.com/fightcenter](https://www.tapology.com/fightcenter) | **Docs:** [parse.bot/marketplace/24738817-9901-4bb7-8c4f-f99f127e2722/tapology-com-api](https://parse.bot/marketplace/24738817-9901-4bb7-8c4f-f99f127e2722/tapology-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-tapology-com-api-24738817/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_bout_details

Fetch detailed information for a specific bout on Tapology including fighters, result, method of victory, rounds/time, fight details (event, date, referee, venue, weight, billing, sport), a fighter comparison table, and betting odds (moneyline for each fighter as published). The bout_id slug is obtained from bout URLs in get_event_details or get_fighter_profile fight records (extract from the path after '/fightcenter/bouts/'). Makes one request per call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `bout_id` | string | Yes | Bout identifier slug from Tapology bout URLs (e.g. '1136600-ufc-329-the-notorious-conor-mcgregor-vs-max-blessed-holloway-ii'). Extract from the URL path after '/fightcenter/bouts/'. |

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

### get_event_details

Fetch the full fight card and metadata for a specific event on Tapology. Returns event name, date, location, venue, promotion, and a complete list of bouts with fighter names/slugs, billing position, weight class, bout URL, and community prediction picks (predicted winner, per-fighter overall percentage, and per-method breakdown: KO/TKO %, Submission %, Decision %). The event_slug is obtained from event URLs in get_upcoming_mma_events or search results (extract the slug portion after '/fightcenter/events/'). Makes one request per call.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `event_slug` | string | Yes | Event identifier slug from Tapology event URLs (e.g. '143855-ufc-fight-night'). Extract from the URL path after '/fightcenter/events/'. |

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

### get_fighter_profile

Get a fighter's full profile from Tapology including biographical details (name, nickname, date of birth, height, reach, weight class, affiliation, birthplace), career stats (record, streak, earnings), their complete professional and amateur fight records, weight cut history (weigh-in weights across fights), and recent news articles. Optional filters narrow the fight_record by result, method, or date range. The fighter_slug is obtained from search_fighters results. Makes one request per call regardless of fight count.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `fighter_slug` | string | Yes | Fighter identifier slug from search_fighters results (e.g. '14607-conor-mcgregor'). |
| `filter_date_from` | string | No | Filter fight_record to fights on or after this date (format: YYYY-MM-DD or partial year like '2020'). |
| `filter_date_to` | string | No | Filter fight_record to fights on or before this date (format: YYYY-MM-DD or partial year like '2023'). |
| `filter_method` | string | No | Filter fight_record by method substring (e.g. 'ko', 'tko', 'submission', 'decision'). Case-insensitive match. |
| `filter_result` | string | No | Filter fight_record by result: 'win', 'loss', or 'draw'. Matches the first character of the status field. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tapology-com-api-24738817/get_fighter_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"fighter_slug":"<string>","filter_date_from":"<string>","filter_date_to":"<string>","filter_method":"<string>","filter_result":"<string>"}'
```

### get_promotions

Fetch the list of combat sports promotions from Tapology's FightCenter. Returns promotion name, slug/URL, abbreviation, logo, and region/headquarters. Paginated server-side with 100 promotions per page (70 pages total). Results are alphabetically ordered.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `limit` | integer | No | Maximum number of promotions to return from the current page. |
| `page` | integer | No | Page number (100 promotions per page, up to 70 pages). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tapology-com-api-24738817/get_promotions \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"limit":"<integer>","page":"<integer>"}'
```

### get_rankings

Fetch fighter rankings from Tapology's rankings pages for a specific weight class and sport (promotion). Returns the top-ranked fighters with rank, name, fighter slug, record, country, and movement indicators. The page renders a fixed set of top fighters (typically 8) server-side without further pagination. The weight_class slug is obtained from the rankings overview page URL structure.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `sport` | string | No | Sport/promotion filter for rankings (e.g. 'ufc', 'regional', 'fan-voted'). |
| `weight_class` | string | Yes | Weight class slug from the rankings URL (e.g. 'ultimate-fighting-championship-mens-lightweight-155-pounds'). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tapology-com-api-24738817/get_rankings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sport":"<string>","weight_class":"<string>"}'
```

### get_upcoming_mma_events

Get upcoming MMA and combat sports events from Tapology FightCenter. Returns event name, date/time, location, URL, sport type, region, featured bout, and promotion logo. Filters by sport type and promotion group. Paginates server-side (~25 events per page); the SDK auto-iterates pages up to the requested limit. Some filter combinations may return empty results if no matching events exist for that window.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `group` | string | No | Promotion group filter. |
| `limit` | integer | No | Maximum number of events to return. |
| `page` | integer | No | Page number to start from (each page has ~25 events). |
| `sport` | string | No | Sport filter. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-tapology-com-api-24738817/get_upcoming_mma_events \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"group":"<string>","limit":"<integer>","page":"<integer>","sport":"<string>"}'
```

### search_bouts

Search for bouts on Tapology by fighter name or event name. Returns matching bouts with fighter names, event, date, result method, and bout URL. Results come from a single search query with no server-side pagination. Empty results are valid for queries with no matches.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `term` | string | Yes | Bout search query — fighter name(s) or event name (e.g. 'McGregor vs Poirier', 'UFC 264'). |

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

### search_events

Search for events on Tapology by name or keyword. Returns matching events with name, slug, date, and bout count. Results come from a single search query with no server-side pagination. Empty results are valid for queries with no matches.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `term` | string | Yes | Event search query (e.g. 'UFC 300', 'Bellator'). |

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

### search_fighters

Search for fighters by name on Tapology. Returns a list of matching fighters with name, profile URL, slug, weight class, record, and country. Results are from a single search query with no server-side pagination. Empty results are valid for queries with no matches.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `term` | string | Yes | Fighter name search query (e.g. 'conor mcgregor', 'khabib'). |

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