APIHorseRacing

Free key

A working key in about ninety seconds.

No card. No trial clock. No sales call. Sign in with Google and the key is on your account page before you have finished reading this. It reads real races, not a sandbox.

We ask Google for your email and name. Nothing else, and no card at any point.

your terminal, 40 seconds later
# the key from your account page
export AHR_KEY=ahr_9pQ2mK4xTz8Bv1QsLk7Rn3Wt

curl https://api.apihorseracing.com/v1/meta/coverage \
  -H "X-API-Key: $AHR_KEY"

{
  "meta": {
    "plan":   "free",
    "window": "24 hours to 7 days"
  },
  "data": {
    "races":         474957,
    "runners":       4677535,
    "jurisdictions": 11
  }
}

The same database everybody else reads.

A free key is not a demo tier with fake races in it. It is the production archive, the same eleven jurisdictions and the same fields, held back to a delayed window. That is the only difference.

37of 63 endpoints
11jurisdictions, all of them
60requests a minute
15,000requests a month

The window, precisely.

Being vague about this would waste your afternoon, so here it is drawn.

2017 → eight days ago seven days to 24 hours ago today & ahead

Ask for a date inside the green band and you get exactly what a paying customer gets. Ask for one outside it and you get 403 outside_window naming the window and the date you asked for, never an empty array that looks like missing data.

Search endpoints clamp instead of refusing: ask for 2017 to today and a free key searches the seven days it can read, and says so in meta.searched.

What it does, and what it does not.

Both lists, on the page where you decide, rather than discovered later.

It does

  • Read real settled races with real starting prices.
  • Reach every jurisdiction we hold. No country is a paid extra.
  • Return every field: book percentage, price movement, casualty reasons, tote dividends.
  • Run every tool in Labs, and every console in the documentation.
  • Last indefinitely. It is not a trial and it does not expire.

It does not

  • Read today's card. Today is newer than 24 hours old by definition, so that one endpoint genuinely cannot work.
  • Reach history older than a week.
  • Return the 26 computed statistics endpoints. Those are Complete + Analyst.
  • Take a webhook subscription.

Three calls worth making first.

In this order. Between them they show you the envelope, the window and the honesty about coverage, which is most of what there is to learn.

01

What exists

No parameters, works on every plan, and tells you what is here and what you can reach in one response.

GET /v1/meta/coverage
02

A real day

Any date inside your window. Races come back grouped into meetings, exactly as a card is read.

GET /v1/racecards/2021-02-28
03

One race in full

Conditions, market and every runner, with the four fields a results feed does not have.

GET /v1/races/rc_1P005G7

The questions people ask before signing up.

Will you charge me later?

No. There is no card on file and nothing to cancel. The free key stays free indefinitely, and upgrading is a decision you make on purpose.

Do I need a new key if I upgrade?

No. One key per account, entitlement read on every request. Upgrading widens what the key you already hold reaches, the same day, with nothing to re-integrate.

Is the data any good?

Decide that before you sign up. Data coverage states what each jurisdiction publishes, counted from the archive rather than claimed, including where we are thin.

What do you do with my email?

Identify your key and email you about your account. It is not sold, and there is no advertising or tracking anywhere on this site. Privacy.

Ninety seconds.

Sign in, copy the key, make a request. If the first one works, every other endpoint works the same way.

Get a free key