Azure Form Recognizer client library samples for JavaScript

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

File Name Description
recognizeCustomForm.js extract information from forms using a custom trained model
recognizeReceipt.js extract data from an image of a receipt
recognizeBusinessCard.js extract data from an image of a business card
recognizeIdentityDocument.js extract data from an image of an identity document
recognizeInvoice.js extract data from an image of an invoice
recognizeContent.js extract layout information such as text lines and table structures from a document
recognizeReceiptFromUrl.js extract data from a receipt by providing a URL to a file rather than a file stream directly
trainLabeledModel.js train a custom model with labeled inputs
trainUnlabeledModel.js train a custom model with unlabeled inputs (form documents only)
differentiateLabeledUnlabeled.js see the differences in custom model recognition using labeled and unlabeled training documents
getBoundingBoxes.js display information about the outlines of form content and fields in a document
copyModel.js copy a custom model from one Form Recognizer resource to another
createComposedModel.js create a composed model from several individual labeled models
authenticationMethods.js authenticate a service client using both Azure Active Directory and an API key
customModelManagement.js display information about your account and its models
iteratorModels.js list custom models using several different methods of iteration
stronglyTypingRecognizedForm.js create a strongly-typed interface for a model with a known structure and use it to refine the output type of model recognition
deleteAllModels.js delete all the models in a Form Recognizer account


The sample programs are compatible with Node.js >=12.0.0.

You need an Azure subscription and the following Azure resources to run these sample programs:

Samples retrieve credentials to access the service 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. Edit the file sample.env, adding the correct credentials to access the Azure service and run the samples. 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 recognizeCustomForm.js

Alternatively, run a single sample with the correct environment variables set (setting up the .env file is not required if you do this), for example (cross-platform):

npx cross-env FORM_RECOGNIZER_ENDPOINT="<form recognizer endpoint>" FORM_RECOGNIZER_API_KEY="<form recognizer api key>" CUSTOM_MODEL_ID="<custom model id>" node recognizeCustomForm.js

Next Steps

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