Skip to main content

Run batches and process CSV or JSONL

Scale row-oriented products while preserving order, failures, and recovery receipts.

Written by Josh Whitfield

Run batches and process CSV or JSONL

Company Signal Enrichment and Signal to Copy accept row-oriented batches of up to 5,000 inputs.

Choose the execution mode

  • 1–25 rows: can run synchronously in the request.

  • 26–5,000 rows: use a durable job that you retrieve by job ID.

Company Signal results use pages of up to 25 rows. Signal to Copy uses pages of up to 100. Completed job pages for both products are retained for seven days.

Prepare a file

Use UTF-8 JSON or JSONL with the fields required by the product. Preserve a stable source-row identifier. For large CLI work, JSONL streams without building one large in-memory result.

signaliz company-signals --input companies.jsonl --jsonl --omit-raw

The CLI and SDK preserve input order and isolate row failures. A partially successful batch is not an entirely successful batch: inspect every row plus the summary.

Recover a durable batch

Save the job_id and idempotency_key as soon as they are returned. Poll or resume that job. Do not submit the input file again simply because your client timed out.

If Company Signal or Signal to Copy returns BATCH_RESULTS_EXPIRED, do not automatically rerun. Check your stored output and billing receipt, then require explicit review before paying for new work.

Did this answer your question?