For developers and AI agents
Free tools API
Every free tool is an HTTP endpoint on https://app.superbooks.io that needs no account and no key. Responses are JSON, or Markdown when you send Accept: text/markdown. Errors follow RFC 9457. The endpoints are also in the OpenAPI document under the “Free tools” tag.
Endpoints
https://app.superbooks.io/api/tools/invoice.pdf— Make a PDF invoice with the details your country requires: US, Canada, UK, Germany, France, Netherlands or Australia. Pagehttps://app.superbooks.io/api/tools/e-invoicing-mandates— Which countries require e-invoices, from when and in which formats, each date linked to its official source. Pagehttps://app.superbooks.io/api/tools/gst-hst-calculator— Add or remove Canadian GST, HST, PST or QST for any province or territory. Pagehttps://app.superbooks.io/api/tools/mileage— Business mileage at the 2026 IRS, CRA and HMRC rates for the US, Canada and the UK. Pagehttps://app.superbooks.io/api/tools/vat-calculator— Add or remove VAT, or reverse it from a gross price, at the current rate for the UK, any EU country, Switzerland or Norway. Pagehttps://app.superbooks.io/api/tools/vat-rates— Standard and reduced VAT rates for 30 European countries, each with its official source and check date. Pagehttps://app.superbooks.io/api/tools/vat-check— Check an EU VAT number against VIES, or a UK one against its HMRC check digits. Page
curl -H "Accept: text/markdown" "https://app.superbooks.io/api/tools/vat-calculator?country=FR&amount=250&mode=remove"Limits
Each endpoint allows 30 requests a minute and 300 a day per IP address. A VAT number check counts once per number, so a batch of ten counts ten. The invoice PDF is the exception: 10 a minute and 20 a day. Past a limit the answer is 429 with a Retry-After header in seconds.
Errors
An error is an application/problem+json document whose type links to one of these entries.
- invalid-input (400)
- A parameter is missing or out of range; the field name is in the problem's field member.
- invalid-json (400)
- The POST body is not valid JSON.
- batch-too-large (400)
- More than ten VAT numbers in one request.
- unknown-country (404)
- The country code is not one of the 30 covered: the EU-27 (EL or GR for Greece), GB, CH and NO.
- render-failed (500)
- The invoice PDF could not be rendered on our side; try again.
- rate-limited (429)
- The per-address limit for this endpoint is spent; wait the Retry-After seconds.