Amazon Rekognition Text Detection API

Detect and extract text from images and videos.

Operations 2

POST /#GetTextDetection Get Text Detection #
POST /#StartTextDetection Start Text Detection #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/amazon-rekognition:amazon-rekognition-text-detection-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

amazon-rekognition-text-detection-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amazon Rekognition Text Detection API
  version: '2016-06-27'
  description: Generated from AWS's published Smithy model for Amazon Rekognition. 2 operation(s).
  contact:
    name: Amazon Web Services
    url: https://aws.amazon.com/contact-us/
  license:
    name: Apache 2.0
    identifier: Apache-2.0
    url: https://github.com/aws/api-models-aws/blob/main/LICENSE
servers:
- url: https://rekognition.{region}.amazonaws.com
  variables:
    region:
      default: us-east-1
security:
- sigv4: []
paths:
  /#GetTextDetection:
    post:
      operationId: GetTextDetection
      summary: Get Text Detection
      description: 'Gets the text detection results of a Amazon Rekognition Video analysis started by StartTextDetection.
        Text detection with Amazon Rekognition Video is an asynchronous operation. You start text detection by calling StartTextDetection
        which returns a job identifier (JobId) When the text detection operation finishes, Amazon Rekognition publishes a
        completion status to the Amazon Simple Notification Service topic registered in the initial call to StartTextDetection.
        To get the results of the text detection operation, first check that the status value published to the Amazon SNS
        topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial call of StartLabelDetection.
        GetTextDetection returns an array of detected text (TextDetections) sorted by the time the text was detected, up to
        100 words per frame of video. Each element of the array includes the detected text, the precentage confidence in the
        acuracy of the detected text, the time the text was detected, bounding box information for where the text was located,
        and unique identifiers for words and their lines. Use MaxResults parameter to limit the number of text detections
        returned. If there are '
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/GetTextDetectionResponse'
        '400':
          description: AccessDeniedException; InvalidPaginationTokenException; InvalidParameterException; ProvisionedThroughputExceededException;
            ResourceNotFoundException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerError; ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - RekognitionService.GetTextDetection
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/GetTextDetectionRequest'
      tags:
      - Text Detection
  /#StartTextDetection:
    post:
      operationId: StartTextDetection
      summary: Start Text Detection
      description: Starts asynchronous detection of text in a stored video. Amazon Rekognition Video can detect text in a
        video stored in an Amazon S3 bucket. Use Video to specify the bucket name and the filename of the video. StartTextDetection
        returns a job identifier (JobId) which you use to get the results of the operation. When text detection is finished,
        Amazon Rekognition Video publishes a completion status to the Amazon Simple Notification Service topic that you specify
        in NotificationChannel. To get the results of the text detection operation, first check that the status value published
        to the Amazon SNS topic is SUCCEEDED. if so, call GetTextDetection and pass the job identifier (JobId) from the initial
        call to StartTextDetection.
      responses:
        '200':
          description: Success
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/StartTextDetectionResponse'
        '400':
          description: AccessDeniedException; IdempotentParameterMismatchException; InvalidParameterException; InvalidS3ObjectException;
            LimitExceededException; ProvisionedThroughputExceededException; VideoTooLargeException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '500':
          description: InternalServerError; ThrottlingException
          content:
            application/x-amz-json-1.1:
              schema:
                $ref: '#/components/schemas/InternalServerError'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - RekognitionService.StartTextDetection
      requestBody:
        required: true
        content:
          application/x-amz-json-1.1:
            schema:
              $ref: '#/components/schemas/StartTextDetectionRequest'
      tags:
      - Text Detection
components:
  securitySchemes:
    sigv4:
      type: apiKey
      in: header
      name: Authorization
      description: AWS Signature Version 4. The Authorization header carries an AWS4-HMAC-SHA256 signature over the canonical
        request, with X-Amz-Date (and X-Amz-Security-Token for temporary credentials). Not a bearer token.
      x-aws-sigv4:
        signingName: rekognition
  schemas:
    AccessDeniedException:
      type: object
      properties:
        Message:
          type: string
        Code:
          type: string
        Logref:
          type: string
          description: A universally unique identifier (UUID) for the request.
    BoundingBox:
      type: object
      properties:
        Width:
          type: number
          description: Width of the bounding box as a ratio of the overall image width.
        Height:
          type: number
          description: Height of the bounding box as a ratio of the overall image height.
        Left:
          type: number
          description: Left coordinate of the bounding box as a ratio of overall image width.
        Top:
          type: number
          description: Top coordinate of the bounding box as a ratio of overall image height.
    DetectionFilter:
      type: object
      properties:
        MinConfidence:
          type: number
          description: Sets the confidence of word detection. Words with detection confidence below this will be excluded
            from the result. Values should be between 0 and 100. The default MinConfidence is 80.
        MinBoundingBoxHeight:
          type: number
          description: Sets the minimum height of the word bounding box. Words with bounding box heights lesser than this
            value will be excluded from the result. Value is relative to the video frame height.
        MinBoundingBoxWidth:
          type: number
          description: Sets the minimum width of the word bounding box. Words with bounding boxes widths lesser than this
            value will be excluded from the result. Value is relative to the video frame width.
    Geometry:
      type: object
      properties:
        BoundingBox:
          $ref: '#/components/schemas/BoundingBox'
        Polygon:
          type: array
          items:
            $ref: '#/components/schemas/Point'
          description: Within the bounding box, a fine-grained polygon around the detected item.
    GetTextDetectionRequest:
      type: object
      properties:
        JobId:
          type: string
          description: Job identifier for the text detection operation for which you want results returned. You get the job
            identifer from an initial call to StartTextDetection.
        MaxResults:
          type: integer
          description: Maximum number of results to return per paginated call. The largest value you can specify is 1000.
        NextToken:
          type: string
          description: If the previous response was incomplete (because there are more labels to retrieve), Amazon Rekognition
            Video returns a pagination token in the response. You can use this pagination token to retrieve the next set of
            text.
      required:
      - JobId
    GetTextDetectionResponse:
      type: object
      properties:
        JobStatus:
          type: string
          enum:
          - IN_PROGRESS
          - SUCCEEDED
          - FAILED
          description: Current status of the text detection job.
        StatusMessage:
          type: string
          description: If the job fails, StatusMessage provides a descriptive error message.
        VideoMetadata:
          $ref: '#/components/schemas/VideoMetadata'
        TextDetections:
          type: array
          items:
            $ref: '#/components/schemas/TextDetectionResult'
          description: An array of text detected in the video. Each element contains the detected text, the time in milliseconds
            from the start of the video that the text was detected, and where it was detected on the screen.
        NextToken:
          type: string
          description: If the response is truncated, Amazon Rekognition Video returns this token that you can use in the subsequent
            request to retrieve the next set of text.
        TextModelVersion:
          type: string
          description: Version number of the text detection model that was used to detect text.
        JobId:
          type: string
          description: Job identifier for the text detection operation for which you want to obtain results. The job identifer
            is returned by an initial call to StartTextDetection.
        Video:
          $ref: '#/components/schemas/Video'
        JobTag:
          type: string
          description: A job identifier specified in the call to StartTextDetection and returned in the job completion notification
            sent to your Amazon Simple Notification Service topic.
    InternalServerError:
      type: object
      properties:
        Message:
          type: string
        Code:
          type: string
        Logref:
          type: string
          description: A universally unique identifier (UUID) for the request.
    NotificationChannel:
      type: object
      properties:
        SNSTopicArn:
          type: string
          description: The Amazon SNS topic to which Amazon Rekognition posts the completion status.
        RoleArn:
          type: string
          description: The ARN of an IAM role that gives Amazon Rekognition publishing permissions to the Amazon SNS topic.
      required:
      - SNSTopicArn
      - RoleArn
    Point:
      type: object
      properties:
        X:
          type: number
          description: The value of the X coordinate for a point on a Polygon.
        Y:
          type: number
          description: The value of the Y coordinate for a point on a Polygon.
    RegionOfInterest:
      type: object
      properties:
        BoundingBox:
          $ref: '#/components/schemas/BoundingBox'
        Polygon:
          type: array
          items:
            $ref: '#/components/schemas/Point'
          description: Specifies a shape made up of up to 10 Point objects to define a region of interest.
    S3Object:
      type: object
      properties:
        Bucket:
          type: string
          description: Name of the S3 bucket.
        Name:
          type: string
          description: S3 object key name.
        Version:
          type: string
          description: If the bucket is versioning enabled, you can specify the object version.
    StartTextDetectionFilters:
      type: object
      properties:
        WordFilter:
          $ref: '#/components/schemas/DetectionFilter'
        RegionsOfInterest:
          type: array
          items:
            $ref: '#/components/schemas/RegionOfInterest'
          description: Filter focusing on a certain area of the frame. Uses a BoundingBox object to set the region of the
            screen.
    StartTextDetectionRequest:
      type: object
      properties:
        Video:
          $ref: '#/components/schemas/Video'
        ClientRequestToken:
          type: string
          description: Idempotent token used to identify the start request. If you use the same token with multiple StartTextDetection
            requests, the same JobId is returned. Use ClientRequestToken to prevent the same job from being accidentaly started
            more than once.
        NotificationChannel:
          $ref: '#/components/schemas/NotificationChannel'
        JobTag:
          type: string
          description: An identifier returned in the completion status published by your Amazon Simple Notification Service
            topic. For example, you can use JobTag to group related jobs and identify them in the completion notification.
        Filters:
          $ref: '#/components/schemas/StartTextDetectionFilters'
      required:
      - Video
    StartTextDetectionResponse:
      type: object
      properties:
        JobId:
          type: string
          description: Identifier for the text detection job. Use JobId to identify the job in a subsequent call to GetTextDetection.
    TextDetection:
      type: object
      properties:
        DetectedText:
          type: string
          description: The word or line of text recognized by Amazon Rekognition.
        Type:
          type: string
          enum:
          - LINE
          - WORD
          description: The type of text that was detected.
        Id:
          type: integer
          description: The identifier for the detected text. The identifier is only unique for a single call to DetectText.
        ParentId:
          type: integer
          description: The Parent identifier for the detected text identified by the value of ID. If the type of detected
            text is LINE, the value of ParentId is Null.
        Confidence:
          type: number
          description: The confidence that Amazon Rekognition has in the accuracy of the detected text and the accuracy of
            the geometry points around the detected text.
        Geometry:
          $ref: '#/components/schemas/Geometry'
    TextDetectionResult:
      type: object
      properties:
        Timestamp:
          type: integer
          description: The time, in milliseconds from the start of the video, that the text was detected. Note that Timestamp
            is not guaranteed to be accurate to the individual frame where the text first appears.
        TextDetection:
          $ref: '#/components/schemas/TextDetection'
    Video:
      type: object
      properties:
        S3Object:
          $ref: '#/components/schemas/S3Object'
    VideoMetadata:
      type: object
      properties:
        Codec:
          type: string
          description: Type of compression used in the analyzed video.
        DurationMillis:
          type: integer
          description: Length of the video in milliseconds.
        Format:
          type: string
          description: Format of the analyzed video. Possible values are MP4, MOV and AVI.
        FrameRate:
          type: number
          description: Number of frames per second in the video.
        FrameHeight:
          type: integer
          description: Vertical pixel dimension of the video.
        FrameWidth:
          type: integer
          description: Horizontal pixel dimension of the video.
        ColorRange:
          type: string
          enum:
          - FULL
          - LIMITED
          description: A description of the range of luminance values in a video, either LIMITED (16 to 235) or FULL (0 to
            255).
x-provenance:
  method: harvested
  publisher: Amazon Web Services
  source: https://raw.githubusercontent.com/aws/api-models-aws/582e55931c45b944739742a2c1620b6026dd2d13/models/rekognition/service/2016-06-27/rekognition-2016-06-27.json
  note: converted by smithy-to-openapi.py from AWS's Smithy model (roadmap#1001)