Docs

Docs.

API

REST + SSE. JSON in, JSON out, XLSX export. All endpoints are bearer-authenticated against an API key from your dashboard.

Base URL · https://api.rowinsight.com
POST/jobs

Submit a schedule for enrichment.

Accepts an array of rows. Each row is a free-form object — at minimum we need one of: company name, CRN, postcode, UPRN, or address. Returns a job_id you can stream against.

curl
curl -X POST https://api.rowinsight.com/jobs \
  -H "Authorization: Bearer $RI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "rows": [
      { "name": "Acme Bakeries Ltd", "crn": "12345678", "postcode": "SW1A 1AA" },
      { "name": "Globex Manufacturing", "uprn": "100023456789" }
    ]
  }'
GET/jobs/{id}/stream

Stream per-row enrichment via Server-Sent Events.

Each row emits a stream of events as sources resolve. Final event for a row carries severity and the written brief. Connection closes when all rows are terminal.

curl
curl -N https://api.rowinsight.com/jobs/$JOB_ID/stream \
  -H "Authorization: Bearer $RI_API_KEY" \
  -H "Accept: text/event-stream"
GET/jobs/{id}/export.xlsx

Download the enriched workbook.

Returns the original schedule with enrichment columns appended, plus a Brief tab. Available once at least one row is terminal — partial schedules are fine.

curl
curl https://api.rowinsight.com/jobs/$JOB_ID/export.xlsx \
  -H "Authorization: Bearer $RI_API_KEY" \
  -o enriched.xlsx

Errors

Standard HTTP status codes. Error bodies are JSON of shape { error: string, code: string }. Rate limits return 429 with a Retry-After header.