Performance & Response Times

The API is synchronous — results come back in the same HTTP call. Typical timings, integration patterns, and how to optimise speed and accuracy.

Use this page to design your integration: how results come back, how long processing takes, and how to get the best speed and accuracy from every request.

The API Is Synchronous

Taggun's processing operations return their endpoint-specific result in the same HTTP response. Extraction, validation, campaign-management, account-list, and CSV export operations have different response shapes; no endpoint is promised to include every extraction, validation, and fraud result family.

  • No webhooks or callbacks for documented processing operations. The endpoint-specific result is returned in the response.
  • No polling. You never need to check back for a job to finish.
  • Handle the documented response type. JSON operations return their endpoint-specific object; published CSV export operations return downloadable CSV bytes with application/octet-stream.

Typical Response Times

Most requests complete in a few seconds. Processing time scales with the document, so plan for a range rather than a fixed number:

  • Standard receipts: typically a few seconds.
  • Large files and long documents: longer — processing time grows with file size and receipt length.
  • Very long receipts (for example, supermarket receipts with many line items): can take 20–30 seconds.

Three factors drive response time:

  1. File size — smaller files upload and process faster. A request-size limit applies; see Document Types & File Requirements for current requirements.
  2. Receipt length — more text and more line items mean more extraction work.
  3. Features enabled — line item extraction, fraud checks, and other advanced features add processing time.

Real-Time vs Background Processing

Choose an integration pattern based on whether a person is waiting on the result:

Real-time (user-facing) — for example, pre-filling a form from a scanned receipt while the user watches. Keep the response scope limited to what the workflow needs:

  • Use a simple endpoint for a compact response when you only need core fields.
  • Disable extraction work you do not need (see below).

Background (batch or queue) — for example, processing submissions for later review. Speed matters less, so enable everything you need:

  • Use a verbose endpoint with line items and any advanced features enabled.

Need staged processing? extractLineItems can be disabled per verbose extraction request. Other enrichment and fraud features are controlled through account Feature Settings or validation campaign settings, not a generic per-request feature switch. Contact support before designing a multi-pass flow; each submission is a separate scan and resubmissions can affect duplicate handling.

Optimising Speed and Accuracy

Most performance improvements come from three areas: clean images, practical file sizes, and disabling extraction work you do not need.

Submit clean receipt images

Image quality has the biggest effect on extraction accuracy. Ask users to submit images that:

  • show one receipt or invoice per request;
  • include the full receipt — merchant name, date, totals, and line items if you need product data;
  • are in focus, well lit, and not blurred;
  • avoid glare, shadows, heavy perspective angles, and background text;
  • use the original digital receipt or invoice file where available, instead of a screenshot or re-photographed copy.

For user-facing capture guidance, see End-User Capture Guidance.

Keep files practical to process

A request-size limit applies. Smaller files upload faster and reduce end-to-end response time, provided the receipt text remains clear enough to read. For mobile photos, around 1 MB is often a practical compression target, but it is only a rule of thumb: a 1 MB blurry or badly framed image can still extract poorly, while a larger clear image may work well. See Document Types & File Requirements for current requirements.

Do not convert JPEGs to PNG just for OCR. Use the original file where possible, and compress only enough to keep upload times reasonable while preserving legibility. Taggun automatically resizes images over 10,000 pixels in any dimension, but that adds processing time.

See Document Types & File Requirements for accepted formats and capture guidance.

Disable optional extraction work you do not need

Product line item extraction can increase processing time. Set extractLineItems deliberately instead of relying on account defaults:

{
  "extractLineItems": false
}

Set it to false unless your workflow needs product-level data such as item names, quantities, unit prices, or total prices.

Provide useful hints when you have them

FieldWhen to use it
languageSet a two-letter language hint when you know the receipt language. Leave it empty for automatic detection.
nearProvide a city, state, and country when merchant location context is useful.
ignoreMerchantNameUse when a known customer or account name is often mistaken for the merchant name.
🚧

Only add hints you are sure about

Incorrect hints can reduce accuracy. If in doubt, leave them out — automatic detection is the safe default.

All request parameters are documented in the API Overview.

Handle errors and retries safely

Use retries for transient failures, not for validation errors. See Error Handling & Status Codes for which codes to retry and how to back off.

Quick Checklist

Before sending receipts to production, confirm that your integration:

  • uploads one receipt or invoice per request;
  • keeps files within the current Document Types & File Requirements;
  • sets extractLineItems: false when product-level data is not needed;
  • passes language, near, or ignoreMerchantName only when those hints are reliable;
  • retries only transient failures, with backoff (see Error Handling).

Availability & Infrastructure

Use the standard API base URL. Do not assume nearest-region routing, regional pinning, or cross-region failover from a hostname. Customisable SLAs and dedicated managed hosting are available on Enterprise; see Plans & Feature Access.


Need something not covered here? Contact [email protected] — see Contacting Support.


Did this page help you?