# Amazon Textract Developer Guide > Use Amazon Textract to detect and analyze text in your documents. - [What is Amazon Textract?](https://docs.aws.amazon.com/textract/latest/dg/what-is.md) - [Handling Connection Errors](https://docs.aws.amazon.com/textract/latest/dg/handling-errors.md) - [API Reference](https://docs.aws.amazon.com/textract/latest/dg/API_Reference.md) - [Document History](https://docs.aws.amazon.com/textract/latest/dg/document-history.md) ## [Getting Started](https://docs.aws.amazon.com/textract/latest/dg/getting-started.md) - [Step 1: Set Up a User](https://docs.aws.amazon.com/textract/latest/dg/setting-up.md) ### [Step 2: Set Up the AWS CLI and AWS SDKs](https://docs.aws.amazon.com/textract/latest/dg/setup-awscli-sdk.md) The following steps show you how to install the AWS Command Line Interface (AWS CLI) and AWS SDKs that the examples in this documentation use. - [Granting Programmatic Access](https://docs.aws.amazon.com/textract/latest/dg/program-access.md): You can run the AWS CLI and code examples in this guide on your local computer or other AWS enviroments, such as an Amazon Elastic Compute Cloud instance. - [Step 3: Get Started Using the AWS CLI and AWS SDK API](https://docs.aws.amazon.com/textract/latest/dg/get-started-exercise.md): After you've set up the AWS CLI and AWS SDKs that you want to use, you can build applications that use Amazon Textract. ## [Identifying Your Use Case](https://docs.aws.amazon.com/textract/latest/dg/how-it-works.md) - [Detecting Text](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-detecting.md): Amazon Textract provides synchronous and asynchronous operations that return only the text detected in a document. - [Analyzing Documents](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-analyzing.md): Amazon Textract analyzes documents and forms for relationships among detected text. - [Analyzing Invoices and Receipts](https://docs.aws.amazon.com/textract/latest/dg/invoices-receipts.md): AnalyzeExpense explanation, focusing on unique response elements. - [Analyzing Identity Documents](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-identity.md): Amazon Textract can extract relevant information from passports, driver licenses, and other identity documentation issued by the US Government using the AnalyzeID API. - [Analyzing Lending Documents](https://docs.aws.amazon.com/textract/latest/dg/lending-document-classification-extraction.md): Analyze Lending is a document processing API for mortgage documents. - [Customizing Outputs](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-custom-queries.md) ## [Interpreting Responses](https://docs.aws.amazon.com/textract/latest/dg/document-response.md) - [Locating Items on a Document Page](https://docs.aws.amazon.com/textract/latest/dg/text-location.md): Amazon Textract operations return the location and geometry of items found on a document page. ### [Text Detection and Document Analysis Response Objects](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-document-layout.md) When Amazon Textract processes a document, it creates a list of Block objects for the detected or analyzed text. - [Pages](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-pages.md): A document consists of one or more pages. - [Lines and Words of Text](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-lines-words.md): Detected text that's returned by Amazon Textract operations is returned in a list of Block objects. - [Form Data (Key-Value Pairs)](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-kvp.md): Amazon Textract can extract form data from documents as key-value pairs. - [Tables](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-tables.md): Use Amazon Textract to extract tables in a document and extract cells, merged cells, column headers, titles, section titles, footers, table type (structured or semistructured), and summary cells within a table. - [Selection Elements](https://docs.aws.amazon.com/textract/latest/dg/how-it-works-selectables.md): Amazon Textract can detect selection elements such as option buttons (radio buttons), check boxes, underlined, and circled text on a document page. - [Queries](https://docs.aws.amazon.com/textract/latest/dg/queryresponse.md): When provided a query, Amazon Textract provides a specialized response object. - [Layout Response Objects](https://docs.aws.amazon.com/textract/latest/dg/layoutresponse.md): When using Layout on a document with Amazon Textract, the different layout elements are returned as a BlockType in the Block object. - [Invoice and Receipt Response Objects](https://docs.aws.amazon.com/textract/latest/dg/expensedocuments.md): When you submit an invoice or a receipt to the AnalyzeExpense API, it returns a series of ExpenseDocuments objects. - [Identity Documentation Response Objects](https://docs.aws.amazon.com/textract/latest/dg/identitydocumentfields.md): When you submit an identity document to the AnalyzeID API, it returns a series of IdentityDocumentField objects. - [Analyze Lending Response Objects](https://docs.aws.amazon.com/textract/latest/dg/lending-response-objects.md): When you submit a document to the Analyze Lending workflow, the document is split apart into individual pages and the pages are classified. ## [Processing Documents Synchronously](https://docs.aws.amazon.com/textract/latest/dg/sync.md) - [Calling Amazon Textract Synchronous Operations](https://docs.aws.amazon.com/textract/latest/dg/sync-calling.md): Amazon Textract operations process document images that are stored on a local file system, or document images stored in an Amazon S3 bucket. - [Detecting Document Text](https://docs.aws.amazon.com/textract/latest/dg/detecting-document-text.md): Describes how to detect document text with Amazon Textract. - [Analyzing Document Text](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-text.md): Describes how to analyze document text with Amazon Textract. - [Analyzing Invoice and Receipt Documents](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-expense.md): Describes how to use the Amazon Textract AnalyzeExpense API operation. - [Analyzing ID Documents](https://docs.aws.amazon.com/textract/latest/dg/analyzing-document-identity.md): Describes how to use the Amazon Textract AnalyzeID API operation. ## [Processing Documents Asynchronously](https://docs.aws.amazon.com/textract/latest/dg/async.md) - [Calling Asynchronous Operations](https://docs.aws.amazon.com/textract/latest/dg/api-async.md): Amazon Textract provides an asynchronous API that you can use to process multipage documents in PDF or TIFF format. - [Configuring Asynchronous Operations](https://docs.aws.amazon.com/textract/latest/dg/api-async-roles.md): The following procedures show you how to configure Amazon Textract to use with an Amazon Simple Notification Service (Amazon SNS) topic and an Amazon Simple Queue Service (Amazon SQS) queue. - [Detecting or Analyzing Text in a Multipage Document](https://docs.aws.amazon.com/textract/latest/dg/async-analyzing-with-sqs.md): This procedure shows you how to detect or analyze text in a multipage document by using Amazon Textract detection operations, a document stored in an Amazon S3 bucket, an Amazon SNS topic, and an Amazon SQS queue. - [Using the Analyze Lending Workflow](https://docs.aws.amazon.com/textract/latest/dg/async-using-lending.md): To detect text in, or analyze multipage lending documents, using the Analyze Lending workflow, you do the following: - [Amazon Textract Results Notification](https://docs.aws.amazon.com/textract/latest/dg/async-notification-payload.md): Amazon Textract sends the status of an analysis request to an Amazon Simple Notification Service (Amazon SNS) topic. ## [Customizing your Queries Responses](https://docs.aws.amazon.com/textract/latest/dg/textract-using-adapters.md) ### [Creating adapters](https://docs.aws.amazon.com/textract/latest/dg/textract-creating-using-adapters.md) Before you can train an adapter, you must create an adapter. - [Create an Adapter](https://docs.aws.amazon.com/textract/latest/dg/textract-create-adapter.md): To customize the Amazon Textract base model, create an adapter. - [Get adapter](https://docs.aws.amazon.com/textract/latest/dg/textract-get-adapter.md): You can retrieve configuration information for an adapter at any time by calling the GetAdapter operation and specifying an AdapterId. - [List adapters](https://docs.aws.amazon.com/textract/latest/dg/textract-list-adapter.md): You can list all of the adapters associated with your account by using the ListAdapters operation. - [Update adapter](https://docs.aws.amazon.com/textract/latest/dg/textract-update-adapter.md): With Amazon Textract, you can update some configuration options of an adapter. - [Delete an Adapter](https://docs.aws.amazon.com/textract/latest/dg/textract-delete-adapter.md): You can delete a custom Amazon Textract adapter at any time by calling the DeleteAdapter API operation. - [Preparing training and testing datasets](https://docs.aws.amazon.com/textract/latest/dg/textract-preparing-training-testing.md) ### [Training adapter versions](https://docs.aws.amazon.com/textract/latest/dg/training-adapter-versions.md) After you have created an adapter and created training and testing datasets, you can train a version of that adapter using the CreateAdapterVersion operation. - [Create adapter version](https://docs.aws.amazon.com/textract/latest/dg/textract-create-adapter-version.md): To customize the Amazon Textract base model to fit your specific use cases, create an adapter. ### [Evaluating and improving your adapters](https://docs.aws.amazon.com/textract/latest/dg/textract-evaluating-improving-adapters.md) Once you have finished the training process and created your adapter, it's important to evaluate how well the adapter is extracting information from your documents. - [List adapter versions](https://docs.aws.amazon.com/textract/latest/dg/textract-list-adapter-version.md): An Amazon Textract adapter can have a number of different versions associated with it. - [Get an Adapter version](https://docs.aws.amazon.com/textract/latest/dg/textract-get-adapter-version.md): You can retrieve configuration information and the current status of an adapter version by calling the GetAdapterVersion operation. - [Delete adapter version](https://docs.aws.amazon.com/textract/latest/dg/textract-delete-adapter-version.md): You can delete an adapter version you’re no longer using by calling DeleteAdapterVersion. - [Debugging training failures](https://docs.aws.amazon.com/textract/latest/dg/textract-debugging-failures-adapters.md): If you are notified on the adapter details page that training has failed, refer to the status message to understand the error and correct it. - [Using Adapters during Inference](https://docs.aws.amazon.com/textract/latest/dg/textract-adapter-inference.md): After creating an adapter, you are provided with an ID and version for your custom adapter. - [Custom Queries tutorial](https://docs.aws.amazon.com/textract/latest/dg/textract-adapters-tutorial.md): This tutorial shows you how to create, train, evaluate, use, and manage adapters. - [Copying adapters](https://docs.aws.amazon.com/textract/latest/dg/textract-copy-adapters.md): Adapter Versions can be copied from one AWS account to another within AWS Regions. ## [Best Practices](https://docs.aws.amazon.com/textract/latest/dg/textract-best-practices.md) - [Best Practices for Queries](https://docs.aws.amazon.com/textract/latest/dg/bestqueries.md) - [Best Practices for Bulk Document Uploader](https://docs.aws.amazon.com/textract/latest/dg/bulk-uploader-best-practices.md): The Bulk Document Uploader is an AWS Management Console tool intended to help you quickly evaluate how Textract performs on a set of your own documents, without the need to write any code. - [Best practices for Amazon Textract Custom Queries](https://docs.aws.amazon.com/textract/latest/dg/best-practices-adapters.md): Amazon Textract lets you customize the output of its pretrained Queries feature by training and using an adapter for its base model. ## [Tutorials](https://docs.aws.amazon.com/textract/latest/dg/examples-blocks.md) - [Extracting Key-Value Pairs from a Form Document](https://docs.aws.amazon.com/textract/latest/dg/examples-extract-kvp.md): The following Python example shows how to extract key-value pairs in form documents from Block objects that are stored in a map. - [Exporting Tables into a CSV File](https://docs.aws.amazon.com/textract/latest/dg/examples-export-table-csv.md): These Python examples show how to export tables from an image of a document into a comma-separated values (CSV) file. - [Detecting text with an AWS Lambda function](https://docs.aws.amazon.com/textract/latest/dg/lambda.md): Shows how to create an AWS Lambda function that detects document text with Amazon Textract - [Extracting and Sending Text to AWS Comprehend for Analysis](https://docs.aws.amazon.com/textract/latest/dg/textract-to-comprehend.md): Amazon Textract lets you include document text detection and analysis in your applications. - [Additional Code Samples](https://docs.aws.amazon.com/textract/latest/dg/other-examples.md): The following table provides links to more Amazon Textract code examples. ## [Security](https://docs.aws.amazon.com/textract/latest/dg/security.md) ### [Data Protection](https://docs.aws.amazon.com/textract/latest/dg/data-protection.md) Learn how the AWS shared responsibility model applies to data protection in Amazon Textract. - [Encryption in Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/encryption.md): Data encryption refers to protecting data while in transit and at rest. ### [Identity and Access Management](https://docs.aws.amazon.com/textract/latest/dg/security-iam.md) How to authenticate requests and manage access your Amazon Textract resources. - [How Amazon Textract Works with IAM](https://docs.aws.amazon.com/textract/latest/dg/security_iam_service-with-iam.md): Before you use IAM to manage access to Amazon Textract, you should understand what IAM features are available to use with Amazon Textract. - [Identity-Based Policy Examples](https://docs.aws.amazon.com/textract/latest/dg/security_iam_id-based-policy-examples.md): By default, users and roles don't have permission to create or modify Amazon Textract resources. - [Troubleshooting](https://docs.aws.amazon.com/textract/latest/dg/security_iam_troubleshoot.md): Use the following information to help you diagnose and fix common issues that you might encounter when working with Amazon Textract and IAM. ### [Logging and Monitoring](https://docs.aws.amazon.com/textract/latest/dg/textract_monitoring.md) Describes how to monitor Amazon Textract. - [Monitoring](https://docs.aws.amazon.com/textract/latest/dg/textract-monitoring.md): With CloudWatch, you can get metrics for individual Amazon Textract operations or global Amazon Textract metrics for your account. - [CloudWatch Metrics for Amazon Textract](https://docs.aws.amazon.com/textract/latest/dg/cloudwatch-metricsdim.md): This section contains information about the Amazon CloudWatch metrics and the Operation dimension that are available for Amazon Textract. - [Logging Amazon Textract API Calls with AWS CloudTrail](https://docs.aws.amazon.com/textract/latest/dg/logging-using-cloudtrail.md): Learn about logging Amazon Textract with AWS CloudTrail. ### [Tagging resources](https://docs.aws.amazon.com/textract/latest/dg/tagging-adapters.md) With Amazon Textract, you can tag resources like adapters for the purposes of managing secure access. - [Tag resource](https://docs.aws.amazon.com/textract/latest/dg/w2aac46c25b5.md): Amazon Textract resources like adapters can be tagged using the TagResource operation. - [List tags for resource](https://docs.aws.amazon.com/textract/latest/dg/w2aac46c25b7.md): Amazon Textract resources like adapters can be tagged using the TagResource operation. - [Untag resource](https://docs.aws.amazon.com/textract/latest/dg/w2aac46c25b9.md): Amazon Textract resources like adapters can be tagged using the TagResource operation. - [Compliance Validation](https://docs.aws.amazon.com/textract/latest/dg/SERVICENAME-compliance.md): Learn what AWS services are in scope of a specific compliance program. - [Resilience](https://docs.aws.amazon.com/textract/latest/dg/disaster-recovery-resiliency.md): Learn how AWS architecture supports data redundancy, and learn about specific Amazon Textract features for data resiliency. - [Cross-service confused deputy prevention](https://docs.aws.amazon.com/textract/latest/dg/cross-service-confused-deputy-prevention.md): In AWS, cross-service impersonation can occur when one service (the calling service) calls another service (the called service). - [Infrastructure Security](https://docs.aws.amazon.com/textract/latest/dg/infrastructure-security.md): Learn how Amazon Textract isolates service traffic. - [Configuration and Vulnerability Analysis](https://docs.aws.amazon.com/textract/latest/dg/vulnerability-analysis-and-management.md): Configuration and IT controls are a shared responsibility between AWS and you, our customer. - [VPC endpoints (AWS PrivateLink)](https://docs.aws.amazon.com/textract/latest/dg/vpc-interface-endpoints.md): You can use an interface VPC endpoint to create a private connection between your VPC and Amazon Textract without requiring access over the internet or through a NAT device, a VPN connection, or an Direct Connect connection. ## [Quotas](https://docs.aws.amazon.com/textract/latest/dg/limits.md) - [Set Quotas](https://docs.aws.amazon.com/textract/latest/dg/limits-document.md): The following is a list of set quotas in Amazon Textract, which cannot be changed. - [Modifying Default Quotas](https://docs.aws.amazon.com/textract/latest/dg/limits-quotas-explained.md): Your console account has default quotas for Amazon Textract operations. ## Full content The entire guide is also available as a single markdown file, useful for feeding the full guide to an LLM in one pass: - [Complete guide (single file)](https://docs.aws.amazon.com/textract/latest/dg/full.md)