Tapology APItapology.com ↗
Access Tapology fight data via API: upcoming MMA events, fighter profiles, bout results, rankings, betting odds, and promotions across all combat sports.
What is the Tapology API?
The Tapology API exposes 10 endpoints covering MMA and combat sports data from Tapology's FightCenter, including upcoming events, fighter profiles, full fight cards, and historical bout results. Endpoints like get_fighter_profile return 15+ fields — biographical details, career record, coaching affiliation, and fight-by-fight history with filtering by result, method, and date range. get_event_details returns complete bout cards with community prediction picks per fighter.
curl -X GET 'https://api.parse.bot/scraper/2f929f7f-075f-4f08-bb55-dbeb0a375cba/get_upcoming_mma_events?page=1&group=all&limit=5&sport=mma' \ -H 'X-API-Key: $PARSE_API_KEY'
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.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number to start from (each page has ~25 events). |
| group | string | Promotion group filter. |
| limit | integer | Maximum number of events to return. |
| sport | string | Sport filter. |
{
"type": "object",
"fields": {
"page": "integer, the requested page number",
"group": "string, the applied group filter",
"sport": "string, the applied sport filter",
"events": "array of event objects with keys: name, url, date, sport, location, region, featured_bout, promotion_logo",
"total_returned": "integer, number of events returned"
},
"sample": {
"data": {
"page": 1,
"group": "all",
"sport": "mma",
"events": [
{
"url": "https://www.tapology.com/fightcenter/events/143526-atf-31",
"date": "Thursday, June 11, 8:00 AM ET",
"name": "ATF 31",
"sport": "MMA",
"region": "Asia Central Region",
"location": "Namangan Province, UZ",
"featured_bout": "Abdurakhimov vs. Khassimov",
"promotion_logo": "https://images.tapology.com/logo_squares/3925/icon_bw/Amir_Temur_Fighting_Championship-logo.jpg?1721414014"
}
],
"total_returned": 5
},
"status": "success"
}
}About the Tapology API
Events and Scheduling
get_upcoming_mma_events returns up to ~25 events per server page, filterable by sport and group (promotion group). Each event object includes name, date, location, region, featured_bout, promotion_logo, and a direct url. For broader historical or future coverage, get_mma_event_archive extends this with event_slug, country (2-letter code), promotion, status, and date-range filters (date_from, date_to), clamped to 250 results per call. search_events lets you find specific events by keyword and returns name, event_slug, date, and bouts_count.
Fighters, Bouts, and Rankings
search_fighters accepts a name query and returns name, fighter_slug, weight_class, record, and country for each match — no pagination, results are single-query. The fighter_slug feeds into get_fighter_profile, which returns biographical fields (height, reach, gender, given_name, nickname, affiliation, head_coach), career stats, news articles with source attribution, and a full fight_record array. That record can be filtered server-side by filter_result (win/loss/draw), filter_method (e.g. 'ko', 'submission'), filter_date_from, and filter_date_to. get_rankings fetches ranked fighters for a given weight_class slug, returning rank, record, country, and movement indicators for typically 8 fighters per page.
Bout-Level Detail and Odds
get_bout_details takes a bout_id and returns method, rounds, billing, result_text, a fight_details map (event, date, referee, venue, weight, sport), a fighter comparison table, and betting_odds with moneyline strings for each fighter (e.g. -295 (Moderate Favorite)). search_bouts accepts fighter names or event names and returns bout_name, event, date, method, fighter1, fighter2, and bout_slug for each match.
Promotions
get_promotions enumerates combat sports promotions alphabetically, with 100 per page across up to 70 pages. Each object includes name, slug, abbreviation, logo, and region. This is useful for building promotion filters to pass into other endpoints.
The Tapology API is a managed, monitored endpoint for tapology.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when tapology.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official tapology.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a live MMA event calendar filtered by region and sport using get_upcoming_mma_events
- Track a fighter's win/loss record filtered by method (e.g. submissions only) via get_fighter_profile
- Pull full fight-card data including community prediction percentages for a scheduled UFC event using get_event_details
- Display betting moneylines for historical or upcoming bouts using get_bout_details
- Generate weight-class leaderboards with movement indicators from get_rankings
- Index all combat sports promotions with logos and regional info using get_promotions
- Search historical bouts by matchup name to retrieve result, method, and event metadata using search_bouts
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.