Our parsers intelligently recognizes and auto-detects unique fields from uploaded documents.
Detect the language in scanned or printed documents, images, and PDFs.
Convert scanned or printed documents, including images and PDFs, into machine-readable text.
Our document parsers can be integrated into existing software systems or workflows.
Parse Documents provides a robust suite of APIs designed to handle all your document parsing requirements. Our aim is to simplify the complex process of document management, be it retrieval, parsing, or error handling. This includes effortless pagination, a plethora of supported document types, and meticulous error detail.
Through our versatile APIs, you can not just retrieve uploaded documents but also queue documents for parsing either via a direct upload or through an external link. Our APIs are designed keeping in mind the dynamic nature of businesses and therefore, they seamlessly cater to varying business needs and configurations.
The APIs are coded following the OpenAPI Specification (OAS), making the integration process hassle-free and straightforward. We provide complete Swagger UI-based documentation that details the potential responses and possible status and error codes.
All API requests are authenticated via JWT headers for maximum security. This ensures that your sensitive document data remains protected at all times.
We are thrilled to have you onboard and can't wait to see how you integrate and maximize the utility of Parse Documents in your document management operations!
GET /v1/documents
A GET method that fetches the details of uploaded documents from ParseDocuments.com. The results can be filtered and paginated using specific query parameters.
GET /v1/documents?page=0
status
(optional): Status filter conditions:period
(optional): Export filter conditions:used
(optional): Last used date (used by "FilesReceivedSinceLastDownload - Files Received Since Last Download" filter condition). Format: YYYY-MM-DD
confirmed
(optional): Filter only confirmed documents (true/false or null for all)
page
(optional): The page number for pagination.
import requests url = "https://.chatgptinvoice.com/v1/documents" querystring = { "status": "0", "period": "0", "used": "2022-01-01", "confirmed": "true", "page": "0" } headers = { "Authorization": "Bearer " + 'YourAuthTokenHere' } response = requests.get(url, headers=headers, params=querystring) response.raise_for_status() print(response.text)
package main import ( "fmt" "net/http" "net/url" ) func main() { url := "https://.chatgptinvoice.com/v1/documents" params := url.Values{ "status": {"0"}, "period": {"0"}, "used": {"2022-01-01"}, "confirmed": {"true"}, "page": {"0"}, } req, err := http.NewRequest("GET", url, nil) if err != nil { fmt.Println("Error creating request:", err) return } req.URL.RawQuery = params.Encode() req.Header.Set("Authorization", "Bearer "+YourAuthTokenHere) client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("Error making GET request:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error reading response body:", err) return } fmt.Println(string(body)) }
<?php $url = "https://.chatgptinvoice.com/v1/documents"; $queryParams = [ "status" => "0", "period" => "0", "used" => "2022-01-01", "confirmed" => "true", "page" => "0" ]; $headers = [ "Authorization: Bearer " . 'YourAuthTokenHere' ]; $url .= '?' . http_build_query($queryParams); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); $error = curl_error($ch); curl_close($ch); if ($error) { echo "Error: " . $error; } else { echo $response; }
using System; using System.Net.Http; public class Program { private static readonly HttpClient client = new HttpClient(); public static void Main(string[] args) { GetDocumentList().Wait(); } private static async Task GetDocumentList() { try { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YourAuthTokenHere"); var queryParams = new System.Collections.Specialized.NameValueCollection { { "status", "0" }, { "period", "0" }, { "used", "2022-01-01" }, { "confirmed", "true" }, { "page", "0" } }; var query = new System.Net.Http.FormUrlEncodedContent(queryParams); var requestUri = new UriBuilder("https://.chatgptinvoice.com/v1/documents") { Query = query.ReadAsStringAsync().Result }; var response = await client.GetAsync(requestUri.ToString()); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } catch (HttpRequestException e) { Console.WriteLine($"Error: {e.Message}"); } } }
In this code, we define a simple program with a single method `GetDocumentList`.
This method first sets up the authentication header by adding the bearer token to the HttpClient's default headers.
Then, it constructs the query parameters using a `System.Collections.Specialized.NameValueCollection` object.
It converts the query parameters to a `System.Net.Http.FormUrlEncodedContent` object and appends it to the request URL using a `System.Net.UriBuilder`.
If the request fails for any reason, an HttpRequestException will be thrown and the method will catch it and print the error message to the console.
If the request is successful, the method will read the response body as a string and print it to the console.
Query Parameters:
status
(optional): Status filter conditions (0-2).period
(optional): Export filter conditions (0-16).used
(optional): Last used date (YYYY-MM-DD format).confirmed
(optional): Only filter confirmed documents (true/false).page
(optional): The page number for pagination.GET /v1/documents/{id}
A GET method that retrieves the details of a specific document from ParseDocuments.com using its primary key.
GET /v1/documents/1
id
: The primary key of the document.
import requests url = "https://.chatgptinvoice.com/v1/documents/1" headers = { "Authorization": "Bearer YourAuthTokenHere" } response = requests.get(url, headers=headers) print(response.text)
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://.chatgptinvoice.com/v1/documents/1" req, _ := http.NewRequest("GET", url, nil) req.Header.Set("Authorization", "Bearer "+Model) client := &http.Client{} response, _ := client.Do(req) defer response.Body.Close() body, _ := ioutil.ReadAll(response.Body) fmt.Println(string(body)) }
<?php $url = "https://.chatgptinvoice.com/v1/documents/1"; $headers = array( "Authorization: Bearer " . Model ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response;
using System; using System.Net.Http; using System.Threading.Tasks; class Program { private static readonly HttpClient client = new HttpClient(); static void Main(string[] args) { GetDocumentDetails(1).Wait(); } private static async Task GetDocumentDetails(int id) { try { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", Model); var response = await client.GetAsync($"https://.chatgptinvoice.com/v1/documents/{id}"); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } catch (HttpRequestException e) { Console.WriteLine($"Error: {e.Message}"); } } }
In this code, we define a simple program with a single method `GetDocumentDetails` that takes the document ID as an input parameter.
This method first sets up the authentication header by adding the bearer token to the HttpClient's default headers.
Then, it constructs the request URL by appending the document ID to the base URL.
If the request fails for any reason, an HttpRequestException will be thrown and the method will catch it and print the error message to the console.
If the request is successful, the method will read the response body as a string and print it to the console.
Path Parameters:
id
: The primary key of the document.GET /v1/documents/webhook/{id}
A GET method that triggers the webhook for a specific document identified by its primary key.
GET /v1/documents/webhook/123
id
: The primary key of the document
import requests def trigger_webhook(): try: url = "https://example.com/v1/documents/webhook/123" headers = {"Authorization": "Bearer YOUR_TOKEN"} response = requests.get(url, headers=headers) response.raise_for_status() print(response.text) except requests.exceptions.RequestException as e: print("Error:", e) trigger_webhook()
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { triggerWebhook() } func triggerWebhook() { url := "https://example.com/v1/documents/webhook/123" req, _ := http.NewRequest("GET", url, nil) req.Header.Set("Authorization", "Bearer YOUR_TOKEN") client := &http.Client{} resp, _ := client.Do(req) defer resp.Body.Close() body, _ := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) }
<?php function triggerWebhook() { $url = "https://example.com/v1/documents/webhook/123"; $headers = [ "Authorization: Bearer YOUR_TOKEN" ]; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; } triggerWebhook();
using System; using System.Net.Http; using System.Threading.Tasks; class Program { private static readonly HttpClient client = new HttpClient(); static void Main(string[] args) { TriggerWebhook().Wait(); } private static async Task TriggerWebhook() { try { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_TOKEN"); var id = "123"; var requestUri = new Uri($"https://example.com/v1/documents/webhook/{id}"); var response = await client.GetAsync(requestUri.ToString()); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } catch (HttpRequestException e) { Console.WriteLine($"Error: {e.Message}"); } } }
In this code, we define a simple program with a single method `TriggerWebhook`.
This method first sets up the authentication header by adding the bearer token to the HttpClient's default headers.
Then, it constructs the request URL by appending the document ID to the base URL.
If the request fails for any reason, an HttpRequestException will be thrown and the method will catch it and print the error message to the console.
If the request is successful, the method will read the response body as a string and print it to the console.
Path Parameters:
id
: The primary key of the document.GET /v1/documents/download/{id}
A GET method that generates a download link for the requested document with the specified primary key.
GET /v1/documents/download/12345
id
: The primary key of the document
import requests def get_download_link(): try: headers = { "Authorization": "Bearer YOUR_ACCESS_TOKEN" } url = "https://YOUR_BASE_URL/v1/documents/download/12345" response = requests.get(url, headers=headers) response.raise_for_status() print(response.text) except requests.exceptions.RequestException as e: print("Error:", str(e)) get_download_link()
package main import ( "fmt" "io/ioutil" "net/http" ) func main() { getDownloadLink() } func getDownloadLink() { url := "https://YOUR_BASE_URL/v1/documents/download/12345" req, err := http.NewRequest("GET", url, nil) if err != nil { fmt.Println("Error:", err) return } req.Header.Add("Authorization", "Bearer YOUR_ACCESS_TOKEN") client := &http.Client{} resp, err := client.Do(req) if err != nil { fmt.Println("Error:", err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println("Error:", err) return } fmt.Println(string(body)) }
<?php function getDownloadLink() { $url = "https://YOUR_BASE_URL/v1/documents/download/12345"; $headers = array( "Authorization: Bearer YOUR_ACCESS_TOKEN" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); echo $response; } getDownloadLink();
using System; using System.Net.Http; using System.Threading.Tasks; class Program { private static readonly HttpClient client = new HttpClient(); static void Main(string[] args) { GetDownloadLink().Wait(); } private static async Task GetDownloadLink() { try { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", "YOUR_ACCESS_TOKEN"); var response = await client.GetAsync("https://YOUR_BASE_URL/v1/documents/download/12345"); response.EnsureSuccessStatusCode(); string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } catch (HttpRequestException e) { Console.WriteLine($"Error: {e.Message}"); } } }
In this code, we define a simple program with a single method `GetDownloadLink`.
This method first sets up the authentication header by adding the bearer token to the HttpClient's default headers.
Then, it makes a GET request to the specified URL to fetch the download link for the document with the primary key `12345`.
If the request fails for any reason, an HttpRequestException will be thrown and the method will catch it and print the error message to the console.
If the request is successful, the method will read the response body as a string and print it to the console.
Path Parameters:
id
: The primary key of the document