
Amazon Textract
AWS API that pulls text, forms, tables, and signatures out of scanned documents.
About
Amazon Textract is AWS's managed document analysis service. Beyond plain OCR, it extracts form key-value pairs, table structures with row and column geometry, signatures, and answers natural-language queries about a document, plus specialized expense and ID analysis. Pricing is pay-as-you-go per page: text detection at $1.50 per 1,000 pages, tables at $15, forms at $50, with volume discounts past a million pages a month. The free tier covers 1,000 text-detection pages and 100 analysis pages a month for the first three months. It is HIPAA eligible, which matters for healthcare document workflows, and pairs naturally with Comprehend for downstream NLP. The output is raw JSON with geometry and relationships, which is fiddly to walk by hand — most teams use the open-source Textract Response Parser library — and customization is limited compared with training your own models.
What it can do
- Text detection in PDFs and images
- Form key-value pair extraction
- Table structure extraction
- Signature detection
- Query-based extraction
- Expense and ID analysis
- Sync and async processing
Setup
- Set up an AWS account and IAM permissions for Textract.
- Call DetectDocumentText for OCR or AnalyzeDocument for forms, tables, and queries.
- Parse the JSON response (the trp library simplifies this).
- Store results in S3 and feed downstream systems.
Prerequisites
AWS account; developers comfortable with AWS APIs; S3 for async multi-page document jobs.
Use cases
Works with
Trust score — 9/10
Scored 9/10 (verified tier, metrics-v1). Evidence: Pricing verified from aws.amazon.com/textract/pricing: $1.50/1k text, $15/1k tables, $50/1k forms; Signature detection, queries, expense/ID analysis verified; HIPAA eligible; Free tier: 3 months, 1,000 text pages + 100 analysis pages/month; Limitations: fiddly JSON output requiring trp parser, limited customization vs own models.
Sources
Every fact above was checked against these sources. Where a claim comes from the provider and couldn't be independently verified, the text says so.