Skip to main content
GET
/
v1
/
tables
/
{table_id}
/
rows
const result = await client.tables.rows("tbl_abc123", {
  page: 1,
  limit: 50,
  sort_by: "name",
});

for (const row of result.data) {
  console.log(row.data.name, row.data.price);
}
{
  "data": [
    {
      "id": "row_abc123",
      "row_index": 0,
      "data": {
        "product_name": "iPhone 15 Pro",
        "price": 999,
        "description": "Latest Apple smartphone"
      },
      "validation_status": null,
      "validation_errors": null,
      "enhancement_status": null,
      "is_edited": false,
      "created_at": "2025-03-10T14:30:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 42
  }
}

Path parameters

table_id
string
required
The unique identifier of the table.

Query parameters

page
integer
default:"1"
Page number for pagination.
limit
integer
default:"25"
Number of items per page (max 100).
sort_by
string
Column key to sort by. Sorts by the value in extracted_data for that column.
sort_order
string
default:"asc"
Sort direction: asc or desc.

Response

data
array
pagination
object
const result = await client.tables.rows("tbl_abc123", {
  page: 1,
  limit: 50,
  sort_by: "name",
});

for (const row of result.data) {
  console.log(row.data.name, row.data.price);
}
The Python SDK has a results_as_dataframe helper that fetches all rows and returns a pandas DataFrame:
df = client.tables.results_as_dataframe("tbl_abc123")
print(df.head())
{
  "data": [
    {
      "id": "row_abc123",
      "row_index": 0,
      "data": {
        "product_name": "iPhone 15 Pro",
        "price": 999,
        "description": "Latest Apple smartphone"
      },
      "validation_status": null,
      "validation_errors": null,
      "enhancement_status": null,
      "is_edited": false,
      "created_at": "2025-03-10T14:30:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 50,
    "total": 42
  }
}