Azure Form Recognizer client library samples for TypeScript

These sample programs show how to use the TypeScript client libraries for Azure Cognitive Services Form Recognizer in some common scenarios.

File Name Description
recognizeContent.ts Recognize text and table structures of a document
recognizeReceipt.ts Recognize data from a file of a US sales receipt using a prebuilt model
recognizeReceiptFromUrl.ts Recognize data from a URL of a US sales receipt using a prebuilt model
recognizeCustomForm.ts Recognize forms with your custom model
trainLabeledModel.ts Train a custom model with labeled data
trainUnlabeledModel.ts Train a custom model with unlabeled data
customModelManagement.ts Manage the custom models in your account
iteratorModels.ts List custom models using different ways
getBoundingBoxes.ts Get information to to visualize outlines of form content and field.
differentiateLabeledUnlabeled.ts See the differences in output when using a custom model trained with labeled data and one trained with unlabeled data
copyModel.ts Copy a custom model from one Form Recognizer resource to another
stronglyTypingRecognizedForm.ts Create a strongly-typed interface representing a receipt, or any model with a known structure, and use it to refine the output type of model recognition
authenticationMethods.ts authenticates a service client using both Azure Active Directory and an API key


The samples are compatible with Node.js >= 8.0.0.

Before running the samples in Node, they must be compiled to JavaScript using the TypeScript compiler. For more information on TypeScript, see the TypeScript documentation. Install the TypeScript compiler using

npm install -g typescript

You need an Azure subscription and an Azure Cognitive Services Instance to run these sample programs. Samples retrieve credentials to access the Cognitive Services endpoint from environment variables. Alternatively, edit the source code to include the appropriate credentials. See each individual sample for details on which environment variables/credentials it requires to function.

Adapting the samples to run in the browser may require some additional consideration. For details, please see the package README.


To run the samples using the published version of the package:

  1. Install the dependencies using npm:
npm install
  1. Compile the samples
npm run build
  1. Edit the file sample.env, adding the correct credentials to access the Azure service and run the samples. Not all environment variables are required. Read the relevant sample sources and the sample.env file to determine which ones are required. Then rename the file from sample.env to just .env. The sample programs will read this file automatically.

  2. Run whichever samples you like (note that some samples may require additional setup, see the table above):

node dist/recognizeReceipt.js

Next Steps

Take a look at our API Documentation for more information about the APIs that are available in the clients.