Docspeed Processing API

Core parsing, layout, OCR, classify, and split operations.

Operations 5

POST /api/v1/parse Parse Endpoint #
POST /api/v1/layout Layout Endpoint #
POST /api/v1/ocr Ocr Endpoint #
POST /api/v1/classify Classify Endpoint #
POST /api/v1/split Split Endpoint #

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/docspeed-ai:docspeed-ai-processing-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

docspeed-ai-processing-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Docspeed Ai Processing API
  version: 1.0.0
  description: 'Operations tagged Processing across 2 of this provider''s published API definitions: docspeed-ai-openapi.json, openapi.json. Each path carries the servers of the definition it was published in.'
tags:
- name: Processing
  description: Core parsing, layout, OCR, classify, and split operations.
paths:
  /api/v1/parse:
    post:
      tags:
      - Processing
      summary: Parse Endpoint
      operationId: parse_endpoint_api_v1_parse_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ParseRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParseResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/layout:
    post:
      tags:
      - Processing
      summary: Layout Endpoint
      operationId: layout_endpoint_api_v1_layout_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LayoutRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/ocr:
    post:
      tags:
      - Processing
      summary: Ocr Endpoint
      operationId: ocr_endpoint_api_v1_ocr_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OcrRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/classify:
    post:
      tags:
      - Processing
      summary: Classify Endpoint
      operationId: classify_endpoint_api_v1_classify_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClassifyRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClassificationResult'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
  /api/v1/split:
    post:
      tags:
      - Processing
      summary: Split Endpoint
      operationId: split_endpoint_api_v1_split_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SplitRequest'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SplitPlan'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
      - HTTPBearer: []
components:
  schemas:
    ClassificationMetadata:
      properties:
        classification_scope:
          type: string
          enum:
          - document
          - page
          title: Classification Scope
          default: document
        verbosity:
          type: string
          enum:
          - none
          - debug
          title: Verbosity
          default: none
        budget_limited:
          type: boolean
          title: Budget Limited
          default: false
        total_pages:
          type: integer
          title: Total Pages
          default: 1
        processed_pages:
          type: integer
          title: Processed Pages
          default: 1
        sampled_page_indexes:
          items:
            type: integer
          type: array
          title: Sampled Page Indexes
        class_count:
          type: integer
          title: Class Count
          default: 0
      type: object
      title: ClassificationMetadata
    ClassDefinition:
      properties:
        label:
          type: string
          title: Label
        description:
          type: string
          title: Description
      type: object
      required:
      - label
      - description
      title: ClassDefinition
    SplitSegment:
      properties:
        start_page:
          type: integer
          title: Start Page
        end_page:
          type: integer
          title: End Page
        doc_class:
          type: string
          title: Doc Class
        title:
          anyOf:
          - type: string
          - type: 'null'
          title: Title
        confidence:
          anyOf:
          - type: number
          - type: 'null'
          title: Confidence
        reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Reason
        file_ref:
          anyOf:
          - $ref: '#/components/schemas/FileRef'
          - type: 'null'
      type: object
      required:
      - start_page
      - end_page
      - doc_class
      title: SplitSegment
    ClassificationResult:
      properties:
        doc_class:
          type: string
          title: Doc Class
        input_type:
          type: string
          enum:
          - markdown
          - image
          - pdf
          - text
          - auto
          title: Input Type
          default: auto
        page_count:
          type: integer
          title: Page Count
          default: 1
        page_classifications:
          items:
            $ref: '#/components/schemas/ClassificationPage'
          type: array
          title: Page Classifications
        document_identity_hints:
          additionalProperties: true
          type: object
          title: Document Identity Hints
        page_dimensions:
          items:
            $ref: '#/components/schemas/PageDimension'
          type: array
          title: Page Dimensions
        classification_metadata:
          $ref: '#/components/schemas/ClassificationMetadata'
        debug:
          anyOf:
          - $ref: '#/components/schemas/ClassificationDebug'
          - type: 'null'
      type: object
      required:
      - doc_class
      title: ClassificationResult
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ClassifyRequest:
      properties:
        input:
          $ref: '#/components/schemas/InputSource'
        execution_mode:
          type: string
          enum:
          - async
          - sync
          title: Execution Mode
          default: async
        input_type:
          type: string
          enum:
          - markdown
          - image
          - pdf
          - text
          - auto
          title: Input Type
          default: auto
        classification_scope:
          type: string
          enum:
          - document
          - page
          title: Classification Scope
          default: document
        verbosity:
          type: string
          enum:
          - none
          - debug
          title: Verbosity
          default: none
        class_definitions:
          items:
            $ref: '#/components/schemas/ClassDefinition'
          type: array
          title: Class Definitions
      type: object
      required:
      - input
      title: ClassifyRequest
    InputSource:
      properties:
        file_id:
          anyOf:
          - type: string
          - type: 'null'
          title: File Id
        text:
          anyOf:
          - type: string
          - type: 'null'
          title: Text
        markdown:
          anyOf:
          - type: string
          - type: 'null'
          title: Markdown
        image_base64:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Base64
        pdf_base64:
          anyOf:
          - type: string
          - type: 'null'
          title: Pdf Base64
        filename:
          anyOf:
          - type: string
          - type: 'null'
          title: Filename
      type: object
      title: InputSource
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    LayoutRequest:
      properties:
        input:
          $ref: '#/components/schemas/InputSource'
        execution_mode:
          type: string
          enum:
          - async
          - sync
          title: Execution Mode
          default: async
        mode:
          type: string
          enum:
          - nested
          - non_overlapping
          title: Mode
          default: non_overlapping
      type: object
      required:
      - input
      title: LayoutRequest
    OcrRequest:
      properties:
        input:
          $ref: '#/components/schemas/InputSource'
        execution_mode:
          type: string
          enum:
          - async
          - sync
          title: Execution Mode
          default: async
        language:
          type: string
          enum:
          - auto
          - global
          title: Language
          default: auto
        mode:
          type: string
          enum:
          - regular
          - classic
          - agentic
          title: Mode
          default: regular
      type: object
      required:
      - input
      title: OcrRequest
    ParsePage:
      properties:
        page_index:
          type: integer
          title: Page Index
        width:
          anyOf:
          - type: integer
          - type: 'null'
          title: Width
        height:
          anyOf:
          - type: integer
          - type: 'null'
          title: Height
        image_ref:
          anyOf:
          - type: string
          - type: 'null'
          title: Image Ref
        ocr_median_line_height:
          anyOf:
          - type: number
          - type: 'null'
          title: Ocr Median Line Height
      type: object
      required:
      - page_index
      title: ParsePage
    FileRef:
      properties:
        file_id:
          type: string
          title: File Id
        filename:
          type: string
          title: Filename
        content_type:
          anyOf:
          - type: string
          - type: 'null'
          title: Content Type
        size_bytes:
          type: integer
          title: Size Bytes
        created_at:
          type: number
          title: Created At
        page_count:
          type: integer
          title: Page Count
          default: 1
      type: object
      required:
      - file_id
      - filename
      - size_bytes
      - created_at
      title: FileRef
    ParseResponse:
      properties:
        doc_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Doc Id
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        markdown:
          type: string
          title: Markdown
        pages:
          items:
            $ref: '#/components/schemas/ParsePage'
          type: array
          title: Pages
        regions:
          items:
            $ref: '#/components/schemas/GroundingRegion'
          type: array
          title: Regions
        chunks:
          items:
            $ref: '#/components/schemas/ParseChunk'
          type: array
          title: Chunks
        metadata:
          additionalProperties: true
          type: object
          title: Metadata
      type: object
      required:
      - markdown
      title: ParseResponse
    SplitRequest:
      properties:
        input:
          $ref: '#/components/schemas/InputSource'
        execution_mode:
          type: string
          enum:
          - async
          - sync
          title: Execution Mode
          default: async
        verbosity:
          type: string
          enum:
          - none
          - debug
          title: Verbosity
          default: none
      type: object
      required:
      - input
      title: SplitRequest
    PageDimension:
      properties:
        page_index:
          type: integer
          title: Page Index
        width:
          type: integer
          title: Width
        height:
          type: integer
          title: Height
      type: object
      required:
      - page_index
      - width
      - height
      title: PageDimension
    ParseChunk:
      properties:
        chunk_id:
          type: string
          title: Chunk Id
        type:
          type: string
          title: Type
          default: text
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
        display_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Label
        markdown:
          type: string
          title: Markdown
        page_index:
          anyOf:
          - type: integer
          - type: 'null'
          title: Page Index
        region_ids:
          items:
            type: string
          type: array
          title: Region Ids
        bbox:
          anyOf:
          - items:
              type: integer
            type: array
          - type: 'null'
          title: Bbox
        table_html:
          anyOf:
          - type: string
          - type: 'null'
          title: Table Html
        cells:
          items:
            additionalProperties: true
            type: object
          type: array
          title: Cells
        render_grid:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Render Grid
        header_row_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Header Row Count
        grid_row_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid Row Count
        grid_col_count:
          anyOf:
          - type: integer
          - type: 'null'
          title: Grid Col Count
        mapping_quality:
          anyOf:
          - type: string
            enum:
            - exact
            - heuristic
            - fallback
          - type: 'null'
          title: Mapping Quality
      type: object
      required:
      - chunk_id
      - markdown
      title: ParseChunk
    ParseRequest:
      properties:
        input:
          $ref: '#/components/schemas/InputSource'
        execution_mode:
          type: string
          enum:
          - async
          - sync
          title: Execution Mode
          default: async
        profile:
          type: string
          enum:
          - grounded
          - fast
          title: Profile
          default: grounded
        grounding:
          type: string
          enum:
          - none
          - regions
          - ocr_lines
          title: Grounding
          default: regions
        include_artifacts:
          type: boolean
          title: Include Artifacts
          default: false
      type: object
      required:
      - input
      title: ParseRequest
    ClassificationDebug:
      properties:
        sampled_page_classifications:
          items:
            $ref: '#/components/schemas/ClassificationPage'
          type: array
          title: Sampled Page Classifications
      type: object
      title: ClassificationDebug
    ClassificationPage:
      properties:
        page_index:
          type: integer
          title: Page Index
        doc_class:
          type: string
          title: Doc Class
        page_role:
          anyOf:
          - type: string
          - type: 'null'
          title: Page Role
        components_present:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Components Present
        document_identity_hints:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Document Identity Hints
        confidence:
          anyOf:
          - type: number
          - type: 'null'
          title: Confidence
      type: object
      required:
      - page_index
      - doc_class
      title: ClassificationPage
    SplitPlan:
      properties:
        total_pages:
          type: integer
          title: Total Pages
        documents:
          items:
            $ref: '#/components/schemas/SplitSegment'
          type: array
          title: Documents
        split_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Split Metadata
        page_summaries:
          anyOf:
          - items:
              additionalProperties: true
              type: object
            type: array
          - type: 'null'
          title: Page Summaries
      type: object
      required:
      - total_pages
      - documents
      title: SplitPlan
    GroundingRegion:
      properties:
        region_id:
          type: string
          title: Region Id
        page_index:
          type: integer
          title: Page Index
        label:
          anyOf:
          - type: string
          - type: 'null'
          title: Label
        display_label:
          anyOf:
          - type: string
          - type: 'null'
          title: Display Label
        shape:
          additionalProperties: true
          type: object
          title: Shape
      type: object
      required:
      - region_id
      - page_index
      - shape
      title: GroundingRegion
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer
x-refined-from:
- docspeed-ai-openapi.json
- openapi.json