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.