Automat extract API

The extract API from Automat — 1 operation(s) for extract.

Operations 1

POST /api/extract Extract Document #

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/automat-extract-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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

automat-extract-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Extract API
  version: 1.0.0
servers:
- url: https://studio.runautomat.com
  description: Production
tags:
- name: extract
paths:
  /api/extract:
    post:
      operationId: extract
      summary: Extract Document
      description: 'Extract structured data from a document using a configured extractor.


        Upload a document (PDF, image, or other supported format) along with an extractor ID,

        and receive the extracted data matching your extractor''s schema.


        **File Input Options:**

        - **Binary upload**: Directly upload the file (max 4.5 MB)

        - **Base64**: Pass base64-encoded file content (max 4.5 MB)

        - **Data URL**: Pass a data URL (max 4.5 MB)

        - **URL**: Pass a publicly accessible URL to the document (up to 35 MB)


        **File Size Limits:**

        Binary, Base64, and Data URL inputs are limited to **4.5 MB** on the Pay As You Go plan.

        For larger files up to **35 MB**, use the URL option.

        Need higher limits? Contact sales at https://runautomat.com/contact'
      tags:
      - extract
      parameters:
      - name: Authorization
        in: header
        description: Bearer authentication
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Response with status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_extract_ExtractResponse'
        '400':
          description: 'The request is malformed or missing required fields.

            Check that you''ve provided all required fields: `file` and `extractorId`.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_extract_ErrorResponse'
        '401':
          description: 'The API key is missing, invalid, or has been revoked.

            Ensure you''re using a valid API key in the `Authorization: Bearer <api_key>` header.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_extract_ErrorResponse'
        '422':
          description: 'The extraction could not be completed. This may occur if:

            - The extractor ID doesn''t exist or you don''t have access to it

            - The document format is not supported

            - The document could not be processed'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_extract_ErrorResponse'
        '500':
          description: An unexpected error occurred. Please try again or contact support.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/type_extract_ErrorResponse'
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                extractorId:
                  type: string
                  description: 'The unique identifier of the extractor to use for extraction.

                    You can find this in the Automat dashboard or when creating an extractor via the API.'
                file:
                  type: string
                  format: binary
                  description: 'The document to extract data from. Can be:

                    - A binary file upload

                    - A URL string (http:// or https://)

                    - A base64-encoded string

                    - A data URL string'
                mimeType:
                  type: string
                  description: 'The MIME type of the file. Required when `file` is a string (URL, base64, or data URL).

                    Examples: `application/pdf`, `image/png`, `image/jpeg`'
                filename:
                  type: string
                  description: "Optional filename for the document. If not provided, will be inferred from \nthe File object name or URL path."
                extractorVersionId:
                  type: string
                  description: Pin extraction to a specific extractor version
                config:
                  type: object
                  additionalProperties:
                    description: Any type
                  description: Override model configuration for this request
                timeout:
                  type: integer
                  description: Timeout in seconds (1-300)
              required:
              - extractorId
              - file
components:
  schemas:
    type_extract_ExtractResponse:
      type: object
      properties:
        data:
          type: object
          additionalProperties:
            description: Any type
          description: 'The extracted data matching your extractor''s schema.

            The structure depends on how you configured your extractor.'
      required:
      - data
      description: Response from a successful extraction request
      title: ExtractResponse
    type_extract_ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Machine-readable error code (e.g., "bad_request", "unauthorized")
        message:
          type: string
          description: Human-readable error message describing what went wrong
      required:
      - error
      - message
      description: Standard error response format
      title: ErrorResponse
  securitySchemes:
    BearerAuthScheme:
      type: http
      scheme: bearer