Declarations, draw, weights, form figures, results and going as clean JSON. One API across UK and Irish cards, US entries and Australian fields, priced for a two-person operation and not for a bookmaker's trading floor.
No more pasting cards into a spreadsheet before the first. No scraper to nurse through Festival week. Read-only data, called when you need it.
| No (dr) | Horse / Jockey | Form | Your rtg |
|---|
Every morning the same ritual: open each card, select the table, paste into the sheet, repair the merged cells, re-key the headgear. First race is at 12:50 and you have not looked at a single horse.
Rain came, the ground eased, two came out. Your sheet still says Good and still has eight runners. The selections went to subscribers an hour ago on stale numbers.
It ran fine all winter. Then Cheltenham or Royal Ascot week arrives, the site ships a new layout and a bot check, and your cron job returns nothing for the biggest cards of the year.
And the official route?
Data licences are structured and priced for bookmakers and media groups. If you are two people with a ratings model and a subscriber list, you are not who they were written for.
UK and Irish cards and results, US entries and figures, Australian fields, plus the draw statistics and public tips pages you already check by hand. US and Australian racing live on entirely different sites. Here they share one request format.
Counts are endpoints available today. Each endpoint returns what its source publishes at the moment you call it. Formfeed is not affiliated with any of the sources listed.
Pick an endpoint. Today's racecards, results by date, a horse profile, a US track's entries, draw statistics. Each one is a hosted function with a stable ID.
Call it with your variables. A date, a race, a horse, a track. We open the source in a real browser on our side and read the page the way you would.
Get structured JSON. Runners, draw, weights, form figures, going, finishing positions. Load it straight into pandas, your database or the sheet you already trust.
When a source changes its site, we repair the endpoint. Same ID, same call. Your code does not move.
It is a request API: data is read at call time. Call again before the off to pick up non-runners and going changes. It is not a push stream.
An each-way returns calculator and a dutching stake splitter. Type fractional or decimal odds. Both are plain arithmetic that runs in your browser, the sort of thing you would otherwise rebuild in a spreadsheet cell.
The sums are the easy part. Having the right runners, the right place terms and the right going in front of you is the hard part. That part is the API.
Arithmetic only. Not betting advice and not a prediction of any result. Rule 4 deductions and dead heats are not modelled.
Individual experiences. Nothing here is a claim about betting results.
Each call reads the source at request time, so you get what that page shows at that moment. Call the racecard again before the off and you pick up non-runners and going changes as the source has them. It is a request API, not a push stream, and it is not built for in-running use.
No. Formfeed is not an official data supplier and is not affiliated with any racing authority or with the sources it reads. Each endpoint returns publicly visible page content as structured JSON. You are responsible for how you use the data, including any terms that apply to you and to what you republish.
The endpoint is repaired on our side and keeps the same ID and the same way of calling it, so the fix does not land on your desk in the middle of a big meeting. Response fields follow what the source publishes, so a field can appear or disappear when the source changes what it shows.
No. The gg.co.uk and myracing endpoints return the selections those sites publish, as data, for people who track or compare public tips. Formfeed has no view on any horse and nothing here is betting advice.
The call shape is the same for every endpoint. Equibase endpoints cover US entries, results and statistics. Australian fields come through the Racing Post endpoints. Field names follow each source, so expect to map them once into your own schema.
Yes, on the Syndicate plan. Describe the page and the fields and we build the endpoint.
Formfeed runs on Notte's browser infrastructure. Each endpoint is a hosted Notte function, which is why the request goes to api.notte.cc.
Pull your first racecard as JSON this afternoon and spend the morning on the form instead.