Cagematch APIcagematch.net ↗
Access the Cagematch.net wrestling database via API. Search wrestlers, events, matches, promotions, and titles. Get profiles, ratings, and match histories.
What is the Cagematch API?
The Cagematch.net API exposes 10 endpoints covering the full wrestling database at cagematch.net, including wrestler profiles, event details, match histories, promotions, and championship titles. The get_wrestler_profile endpoint returns personal data, career info, community rating, and vote counts for any wrestler by numeric ID. ID values are obtained from search_wrestlers results, making the endpoints composable for building structured wrestling databases or research tools.
curl -X GET 'https://api.parse.bot/scraper/55c28715-08ab-4cda-9439-735e8c8c302e/search_wrestlers?query=John+Cena&offset=0' \ -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 cagematch-net-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.cagematch_wrestling_api import Cagematch, WrestlerSummary, Wrestler, EventSummary, MatchResult
cagematch = Cagematch()
# Search for wrestlers by name
for wrestler in cagematch.wrestlers.search(query="Kenny Omega", limit=5):
print(wrestler.name, wrestler.rating, wrestler.promotion)
# Get detailed profile via the summary's navigation op
first = next(iter(cagematch.wrestlers.search(query="John Cena", limit=1)))
profile = first.details()
print(profile.name, profile.rating, profile.votes)
# Walk a wrestler's sub-resources using constructible access
cena = cagematch.wrestler(id="691")
for entry in cena.career.list(limit=5):
print(entry.title, entry.role, entry.year)
for match in cena.matches.list(limit=3):
print(match.date, match.promotion, match.match)
# Search events and drill into details
for event in cagematch.eventsummaries.search(query="WrestleMania", limit=3):
print(event.name, event.date, event.rating)
event_detail = next(iter(cagematch.eventsummaries.search(query="WrestleMania", limit=1))).details()
print(event_detail.name, event_detail.id)
# Search match results
for result in cagematch.matchresults.search(query="Undertaker", limit=5):
print(result.fixture, result.won_rating, result.match_type)
# List promotions
for promo in cagematch.promotions.list(limit=5):
print(promo.name, promo.location, promo.years)
# List championship titles
for title in cagematch.titles.list(query="World", limit=5):
print(title.name, title.promotion, title.rating)
# Global site search
for item in cagematch.searchresults.search(query="Stone Cold", limit=3):
print(item.name, item.birthplace, item.rating)
Search for wrestlers in the Cagematch database by name. Returns a paginated list of matching wrestlers with basic info including rating, promotion, and physical stats. Pagination via offset parameter (increments of ~100).
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Wrestler name or partial name to search for. |
| offset | integer | Pagination offset for results. |
{
"type": "object",
"fields": {
"wrestlers": "array of wrestler summary objects with fields: Gimmick (name), Gimmick_id (numeric ID), Birthday, Birthplace, Height, Weight, Promotion_text, Rating, Votes"
},
"sample": {
"data": {
"wrestlers": [
{
"#": "1",
"Votes": "2574",
"Height": "185",
"Rating": "7.95",
"Weight": "114",
"Gimmick": "John Cena",
"Birthday": "23.04.1977",
"Promotion": "",
"Birthplace": "West Newbury, Massachusetts, USA",
"Gimmick_id": "691",
"Promotion_id": "1",
"Promotion_text": "World Wrestling Entertainment"
}
]
},
"status": "success"
}
}About the Cagematch API
Wrestlers and Match History
The search_wrestlers endpoint accepts a name or partial name and returns paginated results with fields including Gimmick, Gimmick_id, Birthday, Birthplace, Height, Weight, Promotion, and Rating. The Gimmick_id field is the numeric wrestler ID used as the nr parameter in get_wrestler_profile, get_wrestler_career, and get_wrestler_matches. The profile endpoint returns detailed personal data such as wrestling style, age, and current promotion alongside community rating and vote count. The career endpoint returns media and filmography entries with Title, Role, and Year fields. Match history from get_wrestler_matches is paginated and sorted most-recent-first, with each entry including Date, Promotion, and a match description string containing the result and event context.
Events and Matchguide
search_events filters events by keyword and returns Date, Event Name, Event Name_id, Rating, and Votes. The numeric ID from Event Name_id (exposed as col_2_id in results) is passed to get_event_details to retrieve a full event breakdown: venue metadata (Location, Arena, Attendance, Type) and a results array of match result strings. For match-level searching, search_matches queries the matchguide by participant names or keywords and returns matches with Date, Promotion, Match fixture_id, WON observer rating, Match Type, community Rating, and Votes.
Promotions and Titles
list_promotions accepts an optional query parameter to filter by promotion name; omitting it returns all promotions with Name, Name_id, Location, Years, Rating, and Votes. list_titles similarly accepts an optional title name keyword; without a query it returns top-rated titles with Title, Title_id, Promotion, Promotion_id, Rating, and Votes. Both endpoints support an offset parameter for pagination.
Global Search
search_site runs a cross-category keyword search and returns mixed result objects whose fields vary by type — wrestler results include Gimmick, Gimmick_id, Birthplace, Rating, and Votes. This endpoint is useful for discovery when the category of a search term is not yet known.
The Cagematch API is a managed, monitored endpoint for cagematch.net — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when cagematch.net 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 cagematch.net 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 wrestler comparison tool using
get_wrestler_profileto pull community ratings and physical stats side by side. - Aggregate a promotion's event history by chaining
search_eventswithget_event_detailsto collect attendance and match results. - Track title reigns and championship lineages using
list_titlesfiltered by promotion ID. - Populate a match database with observer and community ratings from
search_matchesusing participant name queries. - Generate a wrestler's career timeline by combining
get_wrestler_matchespagination with profile data fromget_wrestler_profile. - Filter wrestling promotions by region or era using the
LocationandYearsfields returned bylist_promotions. - Discover related entities across categories using
search_sitebefore drilling into typed endpoints for detailed data.
| 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 Cagematch.net have an official developer API?+
How do I get a wrestler's match history across multiple pages?+
get_wrestler_matches accepts an offset integer parameter for pagination. Results are sorted most-recent-first and include Date, Promotion, and a match description string per entry. Increment offset by the page size to retrieve subsequent pages.What does `get_event_details` return beyond the card results?+
details object with fields including Name of the event, Date, Promotion, Type, Location, Arena, and Attendance, alongside a results array of match result strings. Attendance figures are included when Cagematch has them on record.Does the API expose title reign history or champion timelines?+
list_titles returns title metadata — Title, Promotion, Rating, and Votes — but not individual reign records or champion-by-champion timelines. You can fork this API on Parse and revise it to add an endpoint that retrieves reign history for a given title ID.Are there gaps in match ratings data?+
search_matches returns both a WON field (Wrestling Observer Newsletter observer rating) and a community Rating field, but either can be absent for a given match if Cagematch does not have that rating on record. The Votes field indicates how many community ratings contributed to the score.