from datetime import datetime
from retab import Retab
client = Retab()
# List recent parses
parses = client.parses.list(limit=20, order="desc")
for parse in parses.data:
print(f"{parse.id}: {parse.file.filename}")
# Filter by date range
parses = client.parses.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
// List recent parses
const parses = await client.parses.list({ limit: 20, order: "desc" });
for (const parse of parses.data) {
console.log(`${parse.id}: ${parse.file.filename}`);
}
// Filter by date range
const ranged = await client.parses.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// List recent parses
parses, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, parse := range parses.Data {
fmt.Printf("%s: %s\n", parse.ID, parse.File.Filename)
}
// Filter by date range
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
# List recent parses
parses = client.parses.list(limit: 20, order: 'desc')
parses.data.each do |parse|
puts "#{parse.id}: #{parse.file.filename}"
end
# Filter by date range
parses = client.parses.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::ParsesOrder;
use retab::resources::parses::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
// List recent parses
let parses = client
.parses()
.list(ListParams {
limit: Some(20),
order: Some(ParsesOrder::Desc),
..Default::default()
})
.await?;
for parse in &parses.data {
println!("{}: {}", parse.id, parse.file.filename);
}
// Filter by date range
let _ranged = client
.parses()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->parses()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Parses.ListAsync(new ParsesListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.parses().list(null, null, 10L, null, "invoice.pdf", null, null);
System.out.println(result);
}
}
# List recent parses
curl -X GET \
'https://api.retab.com/v1/parses?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
# Filter by filename prefix and date range
curl -X GET \
'https://api.retab.com/v1/parses?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "parse_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"table_parsing_format": "markdown",
"output": {
"pages": ["Page 1 text...", "Page 2 text..."],
"text": "Page 1 text...\n\nPage 2 text..."
},
"usage": {
"page_count": 2,
"credits": 1.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "parse_01G34H8J2K",
"total_count": 42
}
}
Parses
List Parses
List parses.
Returns a paginated list of parses for the authenticated environment, newest first by
default. Filter by filename prefix (case-insensitive) and by a created_at window
using from_date/to_date (YYYY-MM-DD). Page through results with before/after,
limit, and order.
GET
/
v1
/
parses
from datetime import datetime
from retab import Retab
client = Retab()
# List recent parses
parses = client.parses.list(limit=20, order="desc")
for parse in parses.data:
print(f"{parse.id}: {parse.file.filename}")
# Filter by date range
parses = client.parses.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
// List recent parses
const parses = await client.parses.list({ limit: 20, order: "desc" });
for (const parse of parses.data) {
console.log(`${parse.id}: ${parse.file.filename}`);
}
// Filter by date range
const ranged = await client.parses.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// List recent parses
parses, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, parse := range parses.Data {
fmt.Printf("%s: %s\n", parse.ID, parse.File.Filename)
}
// Filter by date range
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
# List recent parses
parses = client.parses.list(limit: 20, order: 'desc')
parses.data.each do |parse|
puts "#{parse.id}: #{parse.file.filename}"
end
# Filter by date range
parses = client.parses.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::ParsesOrder;
use retab::resources::parses::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
// List recent parses
let parses = client
.parses()
.list(ListParams {
limit: Some(20),
order: Some(ParsesOrder::Desc),
..Default::default()
})
.await?;
for parse in &parses.data {
println!("{}: {}", parse.id, parse.file.filename);
}
// Filter by date range
let _ranged = client
.parses()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->parses()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Parses.ListAsync(new ParsesListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.parses().list(null, null, 10L, null, "invoice.pdf", null, null);
System.out.println(result);
}
}
# List recent parses
curl -X GET \
'https://api.retab.com/v1/parses?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
# Filter by filename prefix and date range
curl -X GET \
'https://api.retab.com/v1/parses?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "parse_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"table_parsing_format": "markdown",
"output": {
"pages": ["Page 1 text...", "Page 2 text..."],
"text": "Page 1 text...\n\nPage 2 text..."
},
"usage": {
"page_count": 2,
"credits": 1.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "parse_01G34H8J2K",
"total_count": 42
}
}
List persisted parses for your organization, with id-based pagination and optional filename / date filtering.
from datetime import datetime
from retab import Retab
client = Retab()
# List recent parses
parses = client.parses.list(limit=20, order="desc")
for parse in parses.data:
print(f"{parse.id}: {parse.file.filename}")
# Filter by date range
parses = client.parses.list(
from_date=datetime(2024, 1, 1),
to_date=datetime(2024, 12, 31),
limit=50,
)
import { Retab } from "@retab/node";
const client = new Retab({ apiKey: process.env.RETAB_API_KEY });
// List recent parses
const parses = await client.parses.list({ limit: 20, order: "desc" });
for (const parse of parses.data) {
console.log(`${parse.id}: ${parse.file.filename}`);
}
// Filter by date range
const ranged = await client.parses.list({
fromDate: new Date("2024-01-01").toISOString(),
toDate: new Date("2024-12-31").toISOString(),
limit: 50,
});
package main
import (
"context"
"fmt"
"log"
"time"
retab "github.com/retab-dev/retab/clients/go"
)
func ptr[T any](v T) *T { return &v }
func main() {
ctx := context.Background()
client, err := retab.NewClient("")
if err != nil {
log.Fatal(err)
}
// List recent parses
parses, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{Limit: ptr(20), Order: ptr("desc")},
})
if err != nil {
log.Fatal(err)
}
for _, parse := range parses.Data {
fmt.Printf("%s: %s\n", parse.ID, parse.File.Filename)
}
// Filter by date range
from := time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC)
to := time.Date(2024, 12, 31, 0, 0, 0, 0, time.UTC)
ranged, err := client.Parses.List(ctx, &retab.ParsesListParams{
PaginationParams: retab.PaginationParams{
Limit: ptr(50),
},
FromDate: ptr(from.Format("2006-01-02")),
ToDate: ptr(to.Format("2006-01-02")),
})
if err != nil {
log.Fatal(err)
}
fmt.Println(ranged)
}
require 'retab'
require 'date'
client = Retab::Client.new(api_key: ENV['RETAB_API_KEY'])
# List recent parses
parses = client.parses.list(limit: 20, order: 'desc')
parses.data.each do |parse|
puts "#{parse.id}: #{parse.file.filename}"
end
# Filter by date range
parses = client.parses.list(
from_date: DateTime.new(2024, 1, 1),
to_date: DateTime.new(2024, 12, 31),
limit: 50,
)
use retab::enums::ParsesOrder;
use retab::resources::parses::ListParams;
use retab::Retab;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = Retab::new(std::env::var("RETAB_API_KEY")?);
// List recent parses
let parses = client
.parses()
.list(ListParams {
limit: Some(20),
order: Some(ParsesOrder::Desc),
..Default::default()
})
.await?;
for parse in &parses.data {
println!("{}: {}", parse.id, parse.file.filename);
}
// Filter by date range
let _ranged = client
.parses()
.list(ListParams {
from_date: Some("2024-01-01".into()),
to_date: Some("2024-12-31".into()),
limit: Some(50),
..Default::default()
})
.await?;
Ok(())
}
<?php
require 'vendor/autoload.php';
use Retab\Client;
$client = new Client(apiKey: getenv('RETAB_API_KEY'));
$result = $client->parses()->list();
print_r($result);
using Retab;
using RetabClient = Retab.Retab;
var apiKey = Environment.GetEnvironmentVariable("RETAB_API_KEY")!;
var client = new RetabClient(apiKey);
var result = await client.Parses.ListAsync(new ParsesListOptions());
Console.WriteLine(result);
import com.retab.RetabClient;
public final class Example {
public static void main(String[] args) throws Exception {
RetabClient client = new RetabClient(System.getenv("RETAB_API_KEY"));
var result = client.parses().list(null, null, 10L, null, "invoice.pdf", null, null);
System.out.println(result);
}
}
# List recent parses
curl -X GET \
'https://api.retab.com/v1/parses?limit=20&order=desc' \
-H "Authorization: Bearer $RETAB_API_KEY"
# Filter by filename prefix and date range
curl -X GET \
'https://api.retab.com/v1/parses?filename=invoice&from_date=2024-01-01&to_date=2024-12-31&limit=50' \
-H "Authorization: Bearer $RETAB_API_KEY"
{
"data": [
{
"id": "parse_01G34H8J2K",
"file": {
"id": "file_6dd6eb00688ad8d1",
"filename": "invoice.pdf",
"mime_type": "application/pdf"
},
"model": "retab-small",
"table_parsing_format": "markdown",
"output": {
"pages": ["Page 1 text...", "Page 2 text..."],
"text": "Page 1 text...\n\nPage 2 text..."
},
"usage": {
"page_count": 2,
"credits": 1.0
},
"created_at": "2024-03-15T10:30:00Z"
}
],
"list_metadata": {
"before": null,
"after": "parse_01G34H8J2K",
"total_count": 42
}
}
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Required range:
1 <= x <= 100Available options:
asc, desc Response
Successful Response
⌘I