Search trainers
Live, Archive and Complete
Trainers by name.
Examplea real answer from 2026-10-29, trimmed to a few rows
{
"data": [
{
"trainer_id": "tr_zjh5aqvh",
"name": "King Leatherbury"
},
{
"trainer_id": "tr_5mrcnmbb",
"name": "Kingston"
}
],
"meta": {
"request_id": "ead33a190e731b4d",
"plan": "complete",
"window": "January 2017 to the next 3 days",
"data_as_of": "2026-10-30T04:25:05+00:00",
"count": 5
}
}Parameters
| Name | In | Type | Required | What it does |
|---|---|---|---|---|
q | query | string | no | Part of a name, two letters or more. |
limit | query | integer | no | How many rows in one answer, 1 to 100. Default 25. |
cursor | query | string | no | next_cursor from the previous answer, to read the next rows. Never build one. |
Returns
One record in data. Every answer carries meta: request_id, plan, window and data_as_of.
| Field | Type | Holds |
|---|---|---|
trainer_id | string | Our id for the trainer. |
name | string | The name, as raced: the race title on a race. |
Errors
| Code | Status | When |
|---|---|---|
unauthorized | 401 | No key was sent, or the key is not one of ours. |
upgrade_required | 403 | Your plan does not reach this endpoint. The answer names the plans that do. |
bad_request | 400 | A value is the wrong shape: a date that is not YYYY-MM-DD, a cursor that is not ours, or a key sent in the address. |
unknown_parameter | 422 | A parameter this endpoint does not take. The answer lists the ones it does. |
rate_limited | 429 | Too many calls this minute for your plan. |
quota_exceeded | 429 | Your plan's calls for the month are used. The answer says when they reset. |