Overview
This guide walks through a repeatable company-table workflow: create a table, add rows, run enrichment, and read the results. You can start with companies discovered in Extruct or with your own list of company domains or URLs.Prerequisites
Endpoints used
- Create table (
POST /v1/tables) - Add rows (
POST /v1/tables/:table_id/rows) - Run table (
POST /v1/tables/:table_id/run) - Get table (
GET /v1/tables/:table_id) - Get table data (
GET /v1/tables/:table_id/data)
Workflow
1) Create a table
The create-table response includesid, which you will reuse as TABLE_ID.
jq. If unavailable, copy id manually from response.
2) Add rows
These rows can come from Extruct search results, Deep Search output, or your own company list. Forcompany tables, the most reliable input value is the company’s official website domain or URL.
company_profile, company_name, and company_website.
Use Column Guide for minimum working shapes, column-selection rules, and prompt guidance. Use Column Library when you want fuller reusable templates and common chains.
3) Run the table
4) Check status
run_status is idle and num_cells_in_progress is 0.
5) Read enriched rows
Troubleshooting
401 Unauthorized
The token is missing or invalid.
Check that EXTRUCT_API_TOKEN is set and the header is exactly Authorization: Bearer ${EXTRUCT_API_TOKEN}.
422 Unprocessable Entity
The payload shape is invalid. Common issues:
rowsmust be an array of row objects withdata.column_configsentries must include required fields by column type.runmust be boolean when provided.
echo '<json-body>' | jq empty.