43 answers on keys, data, billing and assistants, written by the team that runs the API. Search them, or open a ticket and we reply here and by email.
Type to search every answer on this page.
9 topics, each a short walk to its answer.
Open one, or search from the top of the page.
Your first call in under a minute.
Sign in with Google on the sign-in page and your free key is made at once, in your account. No card, no trial clock. It is the same key you keep if you move to a paid plan later.
Send your key in the Authorization header. This asks for yesterday's results:
curl "https://api.boxingapi.net/v1/results/yesterday" \
-H "Authorization: Bearer bx_live_YOUR_KEY"Every answer is JSON, with the data under data and the paging and freshness under meta.
In the documentation: one page for each endpoint, with its parameters, a live Run button and the same call in four languages.
No sandbox: the free key reads real data. Results from yesterday and today, the fights ahead and the current rankings are all real, so what you build on the free key works unchanged on a paid plan.
Every time and date is UTC, in the API, the MCP server and on this site. Daily limits reset at 00:00 UTC.
Sending your key, rotating it, and what the limits are.
In a header, either way works:
Authorization: Bearer bx_live_YOUR_KEY
X-API-Key: bx_live_YOUR_KEYNever in the address: a key in the query string is refused with 400, because addresses end up in logs.
| Plan | Calls a day | Calls a minute | History |
|---|---|---|---|
| Free key | 50 | 10 | yesterday and today |
| Live | 5,000 | 60 | the last 365 days |
| Archive | 20,000 | 120 | all of it |
| Complete | 100,000 | 300 | all of it |
The API answers 429 and says when it opens again, in the Retry-After header. Nothing is ever charged beyond your plan. Every answer carries X-RateLimit-Remaining and X-Quota-Remaining, so your code can slow down before it gets there.
From your keys, press Rotate. The new key is shown once, so copy it then. The old key keeps working for 24 hours, so you can change it over without a gap.
Revoke it from your keys: it stops working at once and cannot be brought back. Then make a new one. Revoking is the right move when a key is out in the open; rotating is for routine changes.
One live key a member, plus a separate key for each assistant you connect through MCP, so you always see what each one used. If you need keys for several apps, open a ticket and tell us what you are building.
Bouts, fighters, cards, rankings and the fields in them.
Professional, amateur, Olympic, exhibition, bare-knuckle and influencer bouts, with women's bouts marked on each one. The kind field says which, and every list endpoint can filter on it.
Every bout carries status: completed, scheduled, awaiting_result (its date has passed, no result yet) or result_unknown. Every date served has passed one check: a real day, from 1700 on, and a result never dated in the future.
records_agreeing is how many records we hold that agree on the bout. disputed is true for the few bouts where those records split evenly on the result and nothing settles it; everywhere else the most trusted record decides.
Yes, where the commission published them: each judge by name with their score. Cards follow your plan's history window, and the free key holds them back.
Not yet. We publish only what we can check against more than one record, and there is no punch count we can stand behind today. When there is, it arrives on the same bout ids.
Our own two tables. BXR is a rating moved by every professional result since 1960: who is best. BXP is a points race over the last two years that only rewards wins over strong opposition: who is on the best run. Both are published every month, men and women apart.
Lists return 50 rows by default and up to 200 with per_page. Pass meta.next_cursor back as cursor for the next page, until it comes back null. A per_page above 200 is read as 200.
How quickly results arrive and how far back they go.
Results reach the API within about an hour of being published. Prices on upcoming fights are read every hour through fight week, and ranking lists arrive as each body publishes them. Every answer says when its data was read.
Every bout we hold, back to the oldest records on file, with ranking lists from 1960 and opening and closing prices from 2016. Full history opens on the Archive plan; Live reaches back 365 days.
The next 7 days by default and up to 30 with days, each with its card, venue and, on Complete, its prices.
Open a ticket with the bout's id and what you believe is right, and where you saw it. We check it against every record we hold and correct it on the same id, so your stored copy lines up on its next read.
What each error means and what to do about it.
The key is missing, mistyped, revoked, or a rotated key past its 24 hours. Check the header name and that the key starts bx_live_, then compare it with the one in your account.
That endpoint or field sits on a higher plan. The answer names the plan that has it, so you can decide. On the free key, held-back fields come back as null with a note instead of an error, so your code keeps working.
A parameter is out of shape: a date not written YYYY-MM-DD, a cursor that is not one of ours, or a key sent in the address. An unknown parameter is refused with 422 and the list of the ones that endpoint takes.
That is on our side and it is logged. Try again after a moment; if it repeats, the status page shows whether something is known, and a ticket with the call and its time reaches us directly.
On Errors and limits in the documentation, with each code, its meaning and an example answer.
Paying, changing plan, cancelling and refunds.
Live is $29 a month, Archive $79 and Complete $149, in US dollars. Each has a yearly price that costs ten months instead of twelve. The pricing page sets them side by side.
Any time, from your billing page. Moving up starts at once with the difference charged to the day; moving down takes effect at the end of the period you paid for. Your key stays the same.
From your billing page. The plan runs to the end of the period you paid for, then your key moves to the free plan. Nothing is deleted.
Not as standard: a plan runs to the end of its period. When the mistake is ours, a double charge or a fault we could not fix, we refund. Refunds are asked for through the refund form, never by email.
Card charges appear as DEVELOPERDATA.NET. Billing questions: https://developerdata.net/support?tab=charge
On your billing page, under Invoices and card, where you can also change the card.
Claude, ChatGPT and any assistant that speaks MCP.
Yes, on every plan. Add the connector and sign in here; the assistant then reads fighters, bouts, cards, rankings, upsets and upcoming fights from the same data as the API. The MCP page walks through it.
The same as an API call: one tool call is one call, on its own key listed in your account, so you always see what it used.
https://boxingapi.net/mcp, with your key or the connector's sign-in. Any client that speaks MCP over HTTP can use it.
Check the connector is signed in and that the plan holds what was asked: an assistant on the free key gets the same held-back fields as the API, with a note naming the plan. If it still fails, a ticket with the question you asked gets to the bottom of it.
Being told when results, fights and lists change.
A result arriving, a fight added to or taken off a card, and a ranking list updated. Each delivery is signed in X-BoxingAPI-Signature with the secret shown when you add the webhook, so you can check it came from us. Webhooks open on Live and above.
From your account, add the address that should receive them and choose the events. A test delivery sends a real recent event so you can check your handler.
A delivery that is not answered with success is tried again, and every attempt shows in your account with the answer your endpoint gave, so you can see what was missed and when it got through.
Signing in, your data and deleting your account.
With Google, from the sign-in page. There is no password to remember or reset.
From your account, at the bottom. A paid plan is cancelled, your keys stop working at once, and your details are removed. The privacy page says what is kept and for how long.
DeveloperData.net, Empire Tower, Bangkok, Thailand. The terms and privacy page name the company in full.
Open a ticket: the team answers here and by email, and adds the answer to this page.