Tapology APItapology.com ↗
Get upcoming MMA, boxing, kickboxing, and grappling events from Tapology FightCenter. Returns event name, date, location, featured bout, and more.
What is the Tapology API?
The Tapology FightCenter API exposes one endpoint — get_upcoming_mma_events — that returns up to 25 events per page across six combat sports disciplines. Each event object includes 8 fields: name, URL, date, sport, location, region, featured bout, and promotion logo. Filter by promotion group (UFC, TV, major, regional) or sport type to narrow results for scheduling tools, aggregators, or notification systems.
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'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace tapology-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.tapology_fightcenter_api import Tapology, Event, Sport, Group
client = Tapology()
# Get upcoming UFC MMA events
for event in client.events.upcoming(group=Group.UFC, sport=Sport.MMA, limit=5):
print(event.name, event.date, event.location, event.featured_bout)
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
What the API Returns
The get_upcoming_mma_events endpoint returns a paginated list of upcoming combat sports events sourced from Tapology's FightCenter. Each event object contains: name (the event title), url (direct link to the Tapology event page), date (scheduled date and time), sport (mma, boxing, kickboxing, grappling, muay thai, or all), location, region, featured_bout (the headline matchup for the card), and promotion_logo. The response also echoes back the applied page, group, and sport filters, plus a total_returned count.
Filtering and Pagination
Results are paginated at approximately 25 events per page. Use the page parameter to advance through the list, and limit to cap the number of results returned in a single call. The group parameter accepts all, ufc, tv, major, or regional to scope by promotion tier. The sport parameter accepts mma, boxing, kickboxing, grappling, muay, or all. These two filters compose — for example, requesting sport=boxing with group=major on later pages may return an empty events array if no matching events exist for that combination at that page offset.
Coverage and Scope
The API covers upcoming events only — cards that are scheduled but have not yet taken place. Data reflects what Tapology FightCenter publishes for each event, including the promotion logo and featured bout, which are useful for display-oriented applications like event calendars or fight-night reminder apps. Past event results, fighter records, odds, and rankings are not part of this endpoint's response.
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 combat sports event calendar filtered by region and sport type
- Send push notifications when new UFC or major promotion events are listed
- Aggregate featured bouts across promotions to surface high-profile matchups
- Populate a fight-night scheduling app with location and date data
- Monitor regional MMA cards in a specific area using the region field
- Display promotion logos alongside upcoming events in a media dashboard
- Track how far in advance events are announced by recording new listings over time
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Tapology have an official developer API?+
What does the featured_bout field contain?+
featured_bout field contains the headline matchup string as listed on the Tapology event page — typically formatted as 'Fighter A vs. Fighter B'. It represents the top-billed fight for that card, not a structured object with individual fighter records or stats.Does the API return past event results or fighter statistics?+
get_upcoming_mma_events endpoint covers scheduled future events only. Past event results, fight outcomes, fighter records, and rankings are not returned. You can fork this API on Parse and revise it to add an endpoint targeting Tapology's results or fighter profile pages.Are there any known quirks with combining the sport and group filters?+
sport=boxing with group=major — may return an empty events array on pages beyond the first if Tapology has no matching scheduled events at that offset. The API returns a valid response with total_returned: 0 in that case; it is not an error condition.Does the API expose ticket links, broadcast TV details, or fight card undercards?+
url (linking to the full Tapology page), but ticket purchase links, broadcaster/streaming details, and full undercard bouts beyond the featured_bout are not fields in the current response. You can fork this API on Parse and revise it to add an endpoint that extracts those fields from individual event pages.