Documents
Poll an extraction and read its rows
Returns processing until the extraction settles, then completed with the extracted tables, or failed with a reason.
Results expire 24 hours after creation, after which this returns 410.
GET
/
extractions
/
{extraction_id}
Poll an extraction and read its rows
curl --request GET \
--url https://app.vern.so/api/v1/extractions/{extraction_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://app.vern.so/api/v1/extractions/{extraction_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.vern.so/api/v1/extractions/{extraction_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.vern.so/api/v1/extractions/{extraction_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.vern.so/api/v1/extractions/{extraction_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.vern.so/api/v1/extractions/{extraction_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.vern.so/api/v1/extractions/{extraction_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"extraction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"templates": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"table_count": 123,
"row_count": 123,
"tables": [
{
"headers": [
"<string>"
],
"rows": [
{}
],
"row_count": 123,
"name": "<string>",
"ordinal": 123,
"pages": [
123
]
}
],
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"extraction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"templates": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"table_count": 123,
"row_count": 123,
"tables": [
{
"headers": [
"<string>"
],
"rows": [
{}
],
"row_count": 123,
"name": "<string>",
"ordinal": 123,
"pages": [
123
]
}
],
"error": "<string>"
}{
"error": "Too many requests"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
Your Vern API key. Create one at Settings → API keys.
Path Parameters
The id returned by POST /extractions.
Response
The extraction's current state.
Available options:
processing, completed, failed, expired Present when status is completed.
Total rows across all tables. Present when completed.
Present when status is completed.
Show child attributes
Show child attributes
Present when status is failed or expired.
⌘I
Poll an extraction and read its rows
curl --request GET \
--url https://app.vern.so/api/v1/extractions/{extraction_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://app.vern.so/api/v1/extractions/{extraction_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://app.vern.so/api/v1/extractions/{extraction_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.vern.so/api/v1/extractions/{extraction_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.vern.so/api/v1/extractions/{extraction_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.vern.so/api/v1/extractions/{extraction_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.vern.so/api/v1/extractions/{extraction_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"extraction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"templates": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"table_count": 123,
"row_count": 123,
"tables": [
{
"headers": [
"<string>"
],
"rows": [
{}
],
"row_count": 123,
"name": "<string>",
"ordinal": 123,
"pages": [
123
]
}
],
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}{
"extraction_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"file_name": "<string>",
"templates": [
"<string>"
],
"created_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"table_count": 123,
"row_count": 123,
"tables": [
{
"headers": [
"<string>"
],
"rows": [
{}
],
"row_count": 123,
"name": "<string>",
"ordinal": 123,
"pages": [
123
]
}
],
"error": "<string>"
}{
"error": "Too many requests"
}{
"error": "<string>"
}{
"error": "<string>"
}