# Tabscanner API > Receipt OCR API. Upload a photo of a receipt (JPG or PNG) to `POST https://api.tabscanner.com/api/2/process` with your key in the `apikey` header, receive a token, then poll `GET https://api.tabscanner.com/api/result/{token}` until the JSON body's `code` is 202. The `result` object contains establishment, date, total, subTotal, tax, taxes, tip, serviceCharges, discount, currency, paymentMethod, address, lineItems, summaryItems and a confidence score for each value. `GET https://api.tabscanner.com/api/credit` returns the remaining credit. Important: every response is HTTP 200; the outcome is the numeric `code` in the body (301 = not ready, 202 = result available, 4xx = client error, 5xx = server error). Results and images are deleted after 90 days. One credit per accepted upload. Call the API from a server only. ## Documentation - [Full documentation as Markdown](https://docs.tabscanner.com/llms-full.txt): the complete API reference in one file. - [For AI agents](https://docs.tabscanner.com/agents.html): tool definitions, reference implementation, rules and which fields to trust. - [OpenAPI 3.1 specification](https://docs.tabscanner.com/openapi.yaml): every parameter and field described; body codes under `x-tabscanner-codes`. - [Result JSON Schema](https://docs.tabscanner.com/schemas/result.schema.json): JSON Schema 2020-12 for the result object. - [Changelog](https://docs.tabscanner.com/changelog.html): API and documentation changes. ## Reference sections - [Introduction](https://docs.tabscanner.com/#introduction) - [Quickstart](https://docs.tabscanner.com/#quickstart): full upload-and-poll program in curl, Node.js, Python, PHP, Ruby, Java, Go and C#/.NET. - [Authentication](https://docs.tabscanner.com/#authentication) - [Responses and codes](https://docs.tabscanner.com/#conventions) - [POST /api/2/process](https://docs.tabscanner.com/#process): form fields `file`, `region`, `documentType`, `decimalPlaces`, `cents`, `defaultDateParsing`. - [GET /api/result/{token}](https://docs.tabscanner.com/#result) - [GET /api/credit](https://docs.tabscanner.com/#credit) - [Result object](https://docs.tabscanner.com/#result-object) - [LineItem object](https://docs.tabscanner.com/#line-item) - [Worked example](https://docs.tabscanner.com/#worked-example) - [Polling and timeouts](https://docs.tabscanner.com/#polling) - [Regions and locales](https://docs.tabscanner.com/#regions) - [Dates and numbers](https://docs.tabscanner.com/#dates-numbers) - [Line items](https://docs.tabscanner.com/#line-items-guide) - [Duplicates and retries](https://docs.tabscanner.com/#duplicates) - [Limits and performance](https://docs.tabscanner.com/#limits) - [Security and data handling](https://docs.tabscanner.com/#security) - [Versioning](https://docs.tabscanner.com/#versioning) ## Optional - [Tabscanner website](https://tabscanner.com): product, plans and pricing. - [Dashboard](https://dashboard.tabscanner.com): sign up and API keys.