Docparser Documents API
Upload and manage documents for parsing
Upload and manage documents for parsing
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/docparser-documents-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Docparser REST Documents 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: Documents
description: Upload and manage documents for parsing
paths:
/document/upload/{parserId}:
post:
operationId: uploadDocument
summary: Upload a document by file
description: Uploads a document to the specified parser using multipart form data (file upload) or base64-encoded content. The document is queued for parsing immediately upon upload.
tags:
- Documents
parameters:
- $ref: '#/components/parameters/parserId'
requestBody:
required: true
content:
multipart/form-data:
schema:
type: object
required:
- file
properties:
file:
type: string
format: binary
description: The document file to upload (PDF, DOCX, image).
file_name:
type: string
description: Optional filename override. If not provided, the original filename is used.
remote_id:
type: string
description: Optional custom identifier to associate with the document for tracking purposes.
application/json:
schema:
type: object
required:
- file_content
- file_name
properties:
file_content:
type: string
description: Base64-encoded file content.
file_name:
type: string
description: Filename including extension (e.g., invoice.pdf).
remote_id:
type: string
description: Optional custom identifier for tracking.
responses:
'200':
description: Document uploaded and queued for parsing
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentUploadResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/document/reparse/{parserId}:
post:
operationId: reparseDocuments
summary: Reparse documents
description: Reschedules parsing for previously uploaded documents under the specified parser. Useful after updating parser rules.
tags:
- Documents
parameters:
- $ref: '#/components/parameters/parserId'
responses:
'200':
description: Reparse scheduled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/document/reintegrate/{parserId}:
post:
operationId: reintegrateDocuments
summary: Reintegrate documents
description: Reschedules integration (webhook delivery / third-party push) for previously parsed documents under the specified parser.
tags:
- Documents
parameters:
- $ref: '#/components/parameters/parserId'
responses:
'200':
description: Reintegration scheduled successfully
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
parameters:
parserId:
name: parserId
in: path
required: true
schema:
type: string
description: The unique identifier of the document parser.
example: abc123xyz
responses:
BadRequest:
description: Bad request. Check parameters and payload.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
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'
schemas:
ErrorResponse:
type: object
properties:
error:
type: string
description: Error code or short identifier.
message:
type: string
description: Human-readable error description.
SuccessResponse:
type: object
properties:
msg:
type: string
description: Confirmation message.
DocumentUploadResponse:
type: object
properties:
id:
type: string
description: Unique identifier of the uploaded document.
example: doc_abc123
file_size:
type: integer
description: Size of the uploaded file in bytes.
quota_used:
type: integer
description: Number of quota units consumed by this upload.
quota_left:
type: integer
description: Remaining quota units in the current billing period.
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.