Introduction

The Dotprod API is organized around REST principles. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

The API key you use to authenticate the request determines whether the request is live mode or test mode.

You can work on only one object per request.


Authentication

The Dotprod API uses API keys to authenticate requests. You can view and manage your API keys in the Console.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

All API requests should include your API key in an Authorization HTTP header as follows:

Authorization: Bearer DOTPROD_API_KEY

All API requests must be made over HTTPS. Calls made over plain HTTP will fail.


Errors

The Dotprod API uses standard HTTP status codes to indicate the success or failure of an API request. Here are some common status codes you may encounter:

  • 200 OK – The request was successful.
  • 201 Created – The resource was successfully created.
  • 400 Bad Request – The request was invalid or cannot be served.
  • 401 Unauthorized – The request requires user authentication.
  • 403 Forbidden – The server understood the request, but it refuses to authorize it.
  • 404 Not Found – The requested resource could not be found.
  • 500 Internal Server Error – An error occurred on the server.
  • 503 Service Unavailable Error – Usually it means we are at capacity.

When you encounter a 503 at capacity error, you can safely retry your request in a few seconds. Provisioning additional GPUs can take a few hours for our engineering team, lagging behind the demand.

Rate Limiting

To ensure the API is used efficiently and to protect against abuse, we enforce rate limits on all endpoints. The default rate limit is 60 requests per minute. If you exceed this limit, you will receive a 429 Too Many Requests response.

Support

If you have any questions or need help, feel free to reach out to our support team at support@dotprod.ai.


JSON Schema

Learn how to turn unstructured documents into your own JSON Schema output.

Related guide: Bring Your Own Schema


Create JSON Schema

POST https://api.dotprod.ai/v1/parser/schema

Creates a JSON output of a given JSON schema from an unstructured document.

Request body


filefilerequired
schemastringrequired
extract_imagesbooleanDefaults to false

Returns


Example request
Response

The document object

The object represents a document that has been parsed by DotprodAI.


dataobject
imagesarray
The document object

Chunks

Learn how to turn unstructured documents into chunks of data for your LLMs.

Related guide: Chunk any file


Create Chunks

POST https://api.dotprod.ai/v1/parser/extract

Extract chunks from an unstructured document.

Request body


filefilerequired
ner_classesarrayDefaults to ['person', 'organization', 'location']
visual_cuesbooleanDefaults to false
chunk_sizeintegerDefaults to 512
page_rangetuple[int, int]Defaults to null

Returns


Example request
Response

The document object

The object represents a document that has been parsed by DotprodAI.


fragmentsarray
nerobject
The document object