Docparser Results API

Retrieve parsed data results

OpenAPI Specification

docparser-results-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Docparser REST Documents Results API
  description: The Docparser REST API provides programmatic access to document parsing and data extraction capabilities. Developers can upload documents via file upload, base64 encoding, or public URL fetch, retrieve parsed results for individual or multiple documents, manage parser configurations, and trigger re-parsing or re-integration operations. The API uses HTTP Basic Auth with the API key as the username and enforces per-minute rate limits on result retrieval endpoints.
  version: '1.0'
  contact:
    name: Docparser Support
    url: https://docparser.com
  termsOfService: https://docparser.com/terms/
  license:
    name: Proprietary
servers:
- url: https://api.docparser.com/v1
  description: Docparser API v1
- url: https://api.docparser.com/v2
  description: Docparser API v2 (selected endpoints)
security:
- basicAuth: []
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Results
  description: Retrieve parsed data results
paths:
  /results/{parserId}/{documentId}:
    get:
      operationId: getResultsByDocument
      summary: Get results for a single document
      description: Retrieves the parsed data for a specific document. Rate limited to 60 calls per minute.
      tags:
      - Results
      parameters:
      - $ref: '#/components/parameters/parserId'
      - $ref: '#/components/parameters/documentId'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Parsed results for the document
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParsedResult'
              example:
                id: doc_abc123
                file_name: invoice.pdf
                remote_id: ''
                media_link: https://app.docparser.com/...
                page_count: 1
                uploaded_at: '2026-06-13T00:00:00Z'
                processed_at: '2026-06-13T00:00:05Z'
                invoice_number: INV-2026-001
                total_amount: '1500.00'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
  /results/{parserId}:
    get:
      operationId: getResultsByParser
      summary: Get results for all documents in a parser
      description: Retrieves parsed data for multiple documents belonging to the specified parser. Supports filtering, sorting, and pagination. Rate limited to 30 calls per minute.
      tags:
      - Results
      parameters:
      - $ref: '#/components/parameters/parserId'
      - $ref: '#/components/parameters/format'
      - name: list
        in: query
        schema:
          type: string
          enum:
          - last_uploaded
          - last_processed
        description: Filter documents by list type.
      - name: limit
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 10000
          default: 100
        description: Maximum number of results to return.
      - name: date
        in: query
        schema:
          type: string
          format: date-time
        description: Filter results to documents processed after this date (ISO 8601).
      - name: remote_id
        in: query
        schema:
          type: string
        description: Filter results by remote_id assigned at upload.
      - name: include_processing_queue
        in: query
        schema:
          type: boolean
          default: false
        description: Include documents still in the processing queue.
      - name: sort_by
        in: query
        schema:
          type: string
          enum:
          - uploaded_at
          - processed_at
        description: Field to sort results by.
      - name: sort_order
        in: query
        schema:
          type: string
          enum:
          - asc
          - desc
          default: desc
        description: Sort order for results.
      responses:
        '200':
          description: Array of parsed results
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ParsedResult'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ParsedResult:
      type: object
      description: A parsed document result. The exact fields depend on the parser configuration. Common fields are listed; custom extracted fields are appended dynamically.
      properties:
        id:
          type: string
          description: Unique document identifier.
          example: doc_abc123
        file_name:
          type: string
          description: Original filename of the uploaded document.
          example: invoice.pdf
        remote_id:
          type: string
          description: Custom identifier assigned at upload.
          example: ''
        media_link:
          type: string
          format: uri
          description: URL to view the document in the Docparser web app.
        page_count:
          type: integer
          description: Number of pages in the document.
          example: 1
        uploaded_at:
          type: string
          format: date-time
          description: Timestamp when the document was uploaded.
        processed_at:
          type: string
          format: date-time
          description: Timestamp when parsing was completed.
      additionalProperties:
        description: Custom fields extracted by parser rules (e.g., invoice_number, total_amount).
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
          description: Error code or short identifier.
        message:
          type: string
          description: Human-readable error description.
  responses:
    Unauthorized:
      description: Authentication failed. Check your API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found. Check parserId or documentId.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    RateLimited:
      description: Rate limit exceeded. Results endpoints allow 60 req/min (single document) or 30 req/min (parser-level).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  parameters:
    parserId:
      name: parserId
      in: path
      required: true
      schema:
        type: string
      description: The unique identifier of the document parser.
      example: abc123xyz
    documentId:
      name: documentId
      in: path
      required: true
      schema:
        type: string
      description: The unique identifier of the document.
      example: doc_abc123
    format:
      name: format
      in: query
      schema:
        type: string
        enum:
        - object
        - flat
        default: object
      description: Output format for parsed results. "object" (recommended) returns structured JSON; "flat" returns a flat key-value map.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication. Use your API key as the username and leave the password blank.
    apiKeyHeader:
      type: apiKey
      in: header
      name: api_key
      description: API key passed as a custom request header.
    apiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: API key passed as a URL query parameter.