search
Copy page
Find the ID of a player, team, game, market, league or reference topic from its name.
On this page
| Method | Path | Title | Access | Price | MCP tool |
|---|---|---|---|---|---|
| GET | /v1/search | Find players, teams, games and markets | public | 1 | search_sports |
| GET | /v1/sports | List sports | public | 1 | none |
| GET | /v1/competitions | List competitions | public | 1 | none |
GET /v1/search
Find players, teams, games and marketsLink to this section
public, no key needed · 1 credit, not charged during the beta · MCP tool search_sports · status live
Kelly IDs and names for the words you send, in relevance order (never by a betting measure), up to 10 per page. Pass an ID to the read that takes it. Test-mode keys search the sandbox (the recorded Sunday).
ParametersLink to this section
qstring · queryrequiredThe words to match: a player, team, game or competition's name, or a reference topic.
min length 1 · max length 200
kindstring · queryOnly matches of this kind; reference means the reference library's entries.
One of: competition, team, player, game, reference (open: new values may be added).
competitionstring · queryOnly matches in this competition, by slug (nfl) or ID (cmp_).
min length 1 · max length 40
limitinteger · queryItems per page, 1 to 10; default 5.
min 1 · max 10 · default 5
cursorstring · queryThe next_cursor of the previous page. Send the same filters with it; changed filters are refused with invalid_request.
min length 1 · max length 512
ResponseLink to this section
200 A page of matches, best first.
objectconstrequiredAlways list.
Always "list".
dataarray of objectrequiredThe page's matches, in the list's documented order.
Show 5 fields
objectconstrequiredAlways search_result.
Always "search_result".
idstringrequiredThe match's Kelly ID (cmp_, tm_, plr_, gm_ or ref_).
kindstringrequiredcompetition, team, player, game, or a reference kind (term, rule, law, tax, policy, guide, help).
One of: competition, team, player, game, term, rule, law, tax, policy, guide, help (open: new values may be added).
namestringrequiredThe name, or a reference entry's title.
contextobjectWhat tells close matches apart, by kind: a player's position and team, a game's teams, week and kickoff, a team's competition, a reference entry's topic, jurisdiction and summary. Only members the register serves on the API appear.
has_morebooleanrequiredWhether another page follows.
next_cursorstringnullableOpaque cursor for the next page; send it with the same filters.
ErrorsLink to this section
invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled
ExampleLink to this section
GET https://api.askkelly.ai/v1/search?q=chiefs&kind=coach
Authorization: Bearer $KELLY_API_KEY{
"type": "https://docs.askkelly.ai/problems/invalid_request",
"title": "Invalid request",
"status": 400,
"code": "invalid_request",
"detail": "kind: Input should be 'competition', 'team', 'player', 'game' or 'reference'",
"param": "kind",
"doc_url": "https://docs.askkelly.ai/problems/invalid_request",
"request_id": "req_998fa4f70f685278d2522f92",
"retryable": false,
"display_message": "Something in that request was not understood."
}GET https://api.askkelly.ai/v1/search?q=chiefs&limit=3
Authorization: Bearer $KELLY_API_KEY{
"object": "list",
"data": [
{
"object": "search_result",
"id": "tm_0xcwddhkbjaqggrxg4xg",
"kind": "team",
"name": "Kansas City Chiefs",
"context": {
"competition": "nfl",
"abbreviation": "KC"
}
},
{
"object": "search_result",
"id": "gm_55zc8ywp3mzwg79py6mv",
"kind": "game",
"name": "Kansas City Chiefs at Las Vegas Raiders",
"context": {
"week": 4,
"kickoff_at": "2026-10-04T20:25:00Z"
}
},
{
"object": "search_result",
"id": "tm_r46ra6zqhcwmgn5c8b46",
"kind": "team",
"name": "Chicago Bears",
"context": {
"competition": "nfl",
"abbreviation": "CHI"
}
}
],
"has_more": true,
"next_cursor": "eyJ2IjoxLCJvIjozLCJmIjoiZTllZGIxMzg4ZDM2MDQyMCJ9"
}GET /v1/sports
List sportsLink to this section
public, no key needed · 1 credit, not charged during the beta · status live
The sports Kelly covers, with their competitions. One page holds them all.
ResponseLink to this section
200 The sports, by slug.
objectconstrequiredAlways list.
Always "list".
dataarray of objectrequiredThe page's sports, in the list's documented order.
Show 11 fields
objectconstrequiredAlways sport.
Always "sport".
idstringrequiredThe sport's Kelly ID (spt_).
pattern ^spt_[0123456789abcdefghjkmnpqrstvwxyz]{20}$
slugstringrequiredIts slug, such as american_football.
namestringrequiredIts name.
competitionsarray of objectrequiredThe sport's competitions Kelly holds, by slug.
Show 3 fields
idstringThe competition's Kelly ID (cmp_).
pattern ^cmp_[0123456789abcdefghjkmnpqrstvwxyz]{20}$
slugstringIts slug, such as nfl.
namestringIts name.
as_ofstringrequiredWhen the value was true; for a derived value, its newest input's time.
format date-time
sourcestringrequiredWho produced the value, as shown to readers.
min length 1
attributionstringnullableAttribution the source's terms require.
request_idstringnullableThe request that produced this response.
live_topicsarray of stringKelly Wire topics that update this resource (API and cards only).
rg_linestringnullableThe cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.
has_morebooleanrequiredWhether another page follows.
next_cursorstringnullableOpaque cursor for the next page; send it with the same filters.
ErrorsLink to this section
invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled
ExampleLink to this section
GET https://api.askkelly.ai/v1/sports{
"object": "list",
"data": [
{
"object": "sport",
"id": "spt_bzcnprg8js5azynzmsyd",
"slug": "american_football",
"name": "American football",
"competitions": [
{
"id": "cmp_adgcfptxm2s9mcq24dn3",
"slug": "nfl",
"name": "NFL"
}
],
"as_of": "2026-10-04T12:00:00Z",
"source": "nflverse",
"attribution": "nflverse data (CC BY 4.0)",
"request_id": "req_078b033401011c116b6a8ab7",
"live_topics": [],
"rg_line": null
}
],
"has_more": false,
"next_cursor": null
}- nflverse · as of 2026-10-04T12:00:00Z · nflverse data (CC BY 4.0)
GET /v1/competitions
List competitionsLink to this section
public, no key needed · 1 credit, not charged during the beta · status live
Leagues and tournaments by sport, with their seasons. Seasons come newest first.
ParametersLink to this section
sportstring · queryOnly this sport's competitions, by slug.
pattern ^[a-z0-9][a-z0-9_]{0,40}$
limitinteger · queryItems per page, 1 to 50; default 20.
min 1 · max 50 · default 20
cursorstring · queryThe next_cursor of the previous page. Send the same filters with it; changed filters are refused with invalid_request.
min length 1 · max length 512
ResponseLink to this section
200 A page of competitions.
objectconstrequiredAlways list.
Always "list".
dataarray of objectrequiredThe page's competitions, in the list's documented order.
Show 12 fields
objectconstrequiredAlways competition.
Always "competition".
idstringrequiredThe competition's Kelly ID (cmp_).
pattern ^cmp_[0123456789abcdefghjkmnpqrstvwxyz]{20}$
slugstringrequiredIts slug, such as nfl.
namestringrequiredIts name.
sportstringrequiredIts sport's slug.
seasonsarray of objectrequiredIts seasons Kelly holds, newest first.
Show 5 fields
idstringThe season's Kelly ID (ssn_).
pattern ^ssn_[0123456789abcdefghjkmnpqrstvwxyz]{20}$
labelstringIts label, such as 2026 or 2026-27.
yearintegernullableThe year it starts in.
starts_onstringnullableIts first day, when known.
format date
ends_onstringnullableIts last day, when known.
format date
as_ofstringrequiredWhen the value was true; for a derived value, its newest input's time.
format date-time
sourcestringrequiredWho produced the value, as shown to readers.
min length 1
attributionstringnullableAttribution the source's terms require.
request_idstringnullableThe request that produced this response.
live_topicsarray of stringKelly Wire topics that update this resource (API and cards only).
rg_linestringnullableThe cost line (COMP-1, D19) on every resource and result that touches wagering: one engine-computed cost fact, or the short form, plus 21+ and the helpline. Show it with the value. Null on resources that don't touch wagering.
has_morebooleanrequiredWhether another page follows.
next_cursorstringnullableOpaque cursor for the next page; send it with the same filters.
ErrorsLink to this section
invalid_request · credential_in_url · unsupported_api_version · unauthenticated · method_not_allowed · rate_limited · internal_error · service_unavailable · quota_exhausted · insufficient_scope · not_entitled
ExampleLink to this section
GET https://api.askkelly.ai/v1/competitions?sport=american_football
Authorization: Bearer $KELLY_API_KEY{
"object": "list",
"data": [
{
"object": "competition",
"id": "cmp_adgcfptxm2s9mcq24dn3",
"slug": "nfl",
"name": "NFL",
"sport": "american_football",
"seasons": [
{
"id": "ssn_2gmz5phv38xj9aqhn51s",
"label": "2026",
"year": 2026,
"starts_on": null,
"ends_on": null
}
],
"as_of": "2026-10-04T12:00:00Z",
"source": "nflverse",
"attribution": "nflverse data (CC BY 4.0)",
"request_id": "req_fca373ae11e5850ff23ad552",
"live_topics": [],
"rg_line": null
}
],
"has_more": false,
"next_cursor": null
}- nflverse · as of 2026-10-04T12:00:00Z · nflverse data (CC BY 4.0)
Generated from Kelly API 2026-10-05.