Overview
The/v1/us-kyb/reports endpoint lets you generate a KYB report for a US business from a business name and structured address.
Reports are generated asynchronously. Create a report request, poll /v1/us-kyb/reports/{request_id} until it completes, then read the structured report payload and pdf_url.
Completed reports can include:
- IRS and tax-ID matching
- Secretary of State records
- address and physical-presence signals
- officers and watchlist context
- web and social presence
- operating-status and business-consistency signals
pdf_url when you need a rendered report for analyst review.
Full Example Report
Start a Report
POST /v1/us-kyb/reports
| Parameter | Type | Required | Description |
|---|---|---|---|
business_name | string | Yes | Legal or trading name of the business |
address | object | Yes | Structured US address |
submitted_by_name | string | No | Name of the person requesting the report |
tin.number | string | No | EIN or other tax ID |
stream | boolean | No | Optional stream metadata flag |
request_id to poll for results.
Poll for Results
GET /v1/us-kyb/reports/
status field: processing, completed, or error.
When status is completed, the response includes the full report object and a pdf_url pointing at the generated PDF in S3.
Completed responses remain available for later polling. In production, I verified the same completed request still returned 200 more than 5 minutes after completion.
What the Report Covers
Each completed report returns areport object that may include sections like:
| Section | What It Tells You |
|---|---|
report | Business status and last-updated timestamp |
scores | Reprompt-generated scoring outputs |
submitted_information | Submitted business name, tax ID, and office address with verification status |
business_information | Entity-level attributes like formation state, entity type, and tax-ID fields |
sos | Secretary of State search results, status counts, and filing records when found |
insights | Per-section rollups for SOS, address, watchlist, TIN, and formation-state checks |
business_names | Known legal or alternate names |
online_presence | Website and social signals when available |
office_addresses | Address records returned by the report pipeline |
people | Officer or principal names when identified |
report can vary by business, source coverage, and confidence level. Use defensive parsing rather than assuming every section or field will always be populated.
Report Sections in Detail
Report
| Field | Type | Description |
|---|---|---|
business_status | string | Top-level business verification outcome |
last_updated | string | Timestamp string generated by the report pipeline |
Scores
Live reports currently include score objects such as:| Field | Type | Description |
|---|---|---|
fraud_safety_score | integer | Reprompt-generated fraud or safety score |
loan_approval_score | integer | Reprompt-generated loan-approval-oriented score |
reprompt_validation_score | integer | Reprompt validation/confidence score |
Submitted Information
| Field | Type | Description |
|---|---|---|
business_name | object | { "value": string, "status": string } |
tax_id | object | { "value": string, "status": string } |
office_address | object | { "value": string, "status": string } |
Business Information
These fields are source-dependent and may contain verified values, placeholders, or inconclusive values:| Field | Type | Description |
|---|---|---|
formation_state | string | State where the entity appears to have formed |
formation_date | string | Formation date when available |
formation_date_relative | string | Relative representation of formation date |
entity_type | string | Entity type when available |
tax_id | string | Tax identification number or placeholder |
tax_id_status | string | Tax-ID verification status |
tax_id_name_match | string | Business name associated with the TIN |
tax_id_name_match_status | string | TIN/name match status |
SOS (Secretary of State)
| Field | Type | Description |
|---|---|---|
status_counts | object | Counts across ACTIVE, INACTIVE, and UNKNOWN results |
states | string[] | States or state-summary strings returned by the search |
secretary_of_state | array | Filing or search records when available |
| Field | Type | Description |
|---|---|---|
filing_id | string | State filing ID or placeholder |
business_name | string | Name as returned by the registry/source |
jurisdiction | string | Domestic, foreign, or inconclusive |
status | string | Active, inactive, or equivalent source status |
sub_status | string | Additional status detail |
status_details | string | More status context from the source |
address | string | Address on file |
filed_date | string | Filing date or placeholder |
filed_relative | string | Relative representation of the filing date |
entity_type | string | Entity type from the source |
source_url | string | Link to the source registry or search page |
detailed_info | object | Additional source-specific metadata |
registered_agent_name | string | Registered agent name when available |
registered_agent_lines | string[] | Registered agent address lines |
principal_office_address | string[] | Principal office address lines |
mailing_address | string[] | Mailing address lines |
Insights
Per-section status rollups. Each key maps to{ "status": string }.
Common keys include:
| Key | Example Status Values |
|---|---|
sos | UNVERIFIED, Submitted Active |
tin_match | INCONCLUSIVE, Found |
formation_state | VERIFIED, Found |
office_address | INCONCLUSIVE, Verified, Failure |
people | Verified, Unverified |
watchlist | INCONCLUSIVE, Verified |
business_name | Verified, Not Verified |
Business Names
Array of{ "name": string } objects for legal names, alternate names, or DBAs when found.
Online Presence
| Field | Type | Description |
|---|---|---|
websites | array | { "domain": string, "status": string } |
social_profiles | array | { "platform": string, "name": string } when available |
Office Addresses
Array of address objects. Some reports include onlyaddress; others may also include boolean flags.
| Field | Type | Description |
|---|---|---|
address | string | Full address |
is_residential | boolean | Present when residential classification is available |
is_deliverable | boolean | Present when deliverability is available |
People
Array of person objects:| Field | Type | Description |
|---|---|---|
name | string | Full name or placeholder |
roles | string[] | Roles such as officer, principal, or unverified |
Error Response
Office Addresses
Array of address objects:| Field | Type | Description |
|---|---|---|
address | string | Full address |
is_residential | boolean | true if residential, false if commercial (omitted if unknown) |
is_deliverable | boolean | true if USPS deliverable (omitted if unknown) |
People
Array of person objects:| Field | Type | Description |
|---|---|---|
name | string | Full name |
roles | string[] | Roles (e.g. Primary Officer, Secondary Officer) |