Docs
Readable Parser

Readable Parser

Convert your documents to Markdown [For Free🔥]

v1.0.0

AI is the big thing right now, developers everywhere are tapping into its power to build all sorts of products—think Customer Service Chatbot, Document Helper, FAQ Assistant and Data Analyst. But there’s a hitch: why aren’t these AI responses as accurate as we’d like?

Let's dig into this issue. We give the AI a question and some documents it found through a search. The AI then tries to answer based on those snippets. Sure, having a well-crafted question is important, but the real key is how relevant those documents are. Matching accuracy and logical precision in the text of these similar documents are key.

So, we need a document parser that can help us convert a variety of documents (PDFs, Docs, HTML, Excel, CSV, etc.) into more readable text (like Markdown). This transformation enables AI to produce better answers.

1. Introduction

Extract Tables From DocumentExtract Tables From Document

We provide the following Free APIs to help you convert various documents into markdown format text.

  • Request Parsing: You can use this API to parse your file or URL. The parsing process is asynchronous. After successful submission, you will receive a unique task_id that can be used to query the parsing status and fetch the parsed result.

  • Check Parsing Status: With this API, you can check the parsing status of the document with the task_id.

  • Fetch Parsed Result: After the parsing task is completed, you can fetch the markdown result through this API with the task_id.

DocumentSupported
PDF
Docx
HTML
Excel
CSV

For detailed usage of the API, please refer to the API section below.

2. Auth Token

You can obtain an API Key on the Account page.

Create Your ChatofAI API KeyCreate Your ChatofAI API Key

Remember that your API key is a secret! Do not share it with others or expose it in any client-side code (browsers, apps). Production requests must be routed through your backend server where your API key can be securely loaded from an environment variable or key management service.

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

Authorization: Bearer CHATOFAI_API_KEY

Example curl command:

curl https://chatof.ai/path\
  -H "Authorization: Bearer $CHATOFAI_API_KEY"

Example with python

import requests
url = "https://chatof.ai/path"
headers = {
    "Authorization": f"Bearer {CHATOFAI_API_KEY}"
}
resp = requests.get(url, headers=headers)

3. API

Base URL

3.1 Request Parsing

POST /api-parser/file/async/parser

API Parameters

NamePositionTypeRequiredDescription
AuthorizationheaderstringyesToken, check Auth Token for details
filebodystring (binary)noFile, required when type is pdf, docx, csv, excel
urlbodystringnoURL, required when type is html
typebodystringyesparser type, options: pdf, docx, html, excel, csv
optionsbodystringnoJSON string, see the documentation for supported options

Response

{
  "code": 0,
  "msg": "success",
  "data": {
    "task_id": "avhwk001"
  }
}

Response Data Structure

NameTypeDescription
codeintegerStatus code of the response.
msgstringMessage describing the status or error.
dataobjectContains the task details.
» task_idstringThe unique ID of the parsing task.

3.2 Check Parsing Status

GET /api-parser/file/async/parser/status

API Parameters

NamePositionTypeRequiredDescription
task_idquerystringyesTask ID
AuthorizationheaderstringyesToken, check Auth Token for details

Response

{
  "code": 0,
  "msg": "success",
  "data": {
    "status": "success",
    "err_msg": ""
  }
}

Response Data Structure

NameTypeDescription
codeintegerStatus code of the response.
msgstringMessage describing the status or error.
dataobjectContains the task details.
» statusstringStatus of the parsing task. Possible values: pending, processing, success, failed.
» error_msgstringError message if the task failed.

3.3 Fetch Parsed Result

GET /api-parser/file/async/parser/download

Request Parameters

NamePositionTypeRequiredDescription
task_idquerystringyesTask ID from Request Parsing
AuthorizationheaderstringyesToken, check Auth Token for details

Response

{
  "code": 0,
  "msg": "success",
  "data": {
    "markdown": "### Title\n\nContent"
  }
}

Response Data Structure

NameTypeDescription
codeintegerStatus code of the response.
msgstringMessage describing the status or error.
dataobjectContains the parsed markdown details.
» markdownstringParsed Markdown Text.

4. Limits

There are restrictions on the request frequency to prevent abuse of the interface. You are limited to making 1 request per second and 100 requests per day. If you exceed this limit, your API calls will be restricted. Please note that the rate limit is applied at the user level, rather than the interface level. This means you are not allowed to make more than two simultaneous requests to the interface. If you have higher frequency requirements for your requests, please get in touch with us: support@chatof.ai