Skip to main content
POST
Company Reveal Launcher
Use Waterfall Company Reveal when your starting input is an IPv4 address and you want company context. The response can include a company profile, an organization type, IP geolocation, and a confidence label.

How it works

Company Reveal returns the result synchronously. Read output in the response; no separate polling step is required. Use the job identifier in input.task.job_id with Company Reveal Finder to retrieve the stored result.

Example request

This illustrates the request format; it does not establish which company will be returned for that address.

Assess the result

  • output.type can be company, education, government, isp, or null. An ISP result is not proof of a visitor’s employer.
  • output.confidence_score can be very_high, high, medium, low, or null. These are labels, not percentage probabilities.
  • output.company can be empty. Check that it contains the company data your workflow needs.
  • output.ip_geo describes the IP’s location context. It does not identify an individual visitor or establish the company’s headquarters.

Choose the next step

See website company identification for a workflow that uses this result. If you already have a company domain, use Company Enrichment directly.

Authorizations

x-api-key
string
header
required

To access the API, provide your API key in x-api-key.

Body

application/json

Company Reveal request payload.

Request payload for Company Reveal.

ip
string<ipv4>
required
Example:

"8.8.8.8"

webhook_url
string<uri> | null

Optional webhook callback URL. If supplied, Waterfall POSTs the same payload returned by the Finder endpoint when processing completes. If your webhook responds with 429, 500, 502, or 504, Waterfall retries delivery up to 5 times with exponential backoff. Waterfall includes X-Webhook-Signature containing a compact JWT when webhook signing configuration is available. The JWT protected header contains alg: "EdDSA", kid, and typ: "JWT". Its claims contain iat, exp, jti, job_id, body_hash, and body_hash_alg: "sha-256". body_hash is the unpadded base64url-encoded SHA-256 digest of the exact raw request body bytes. The JSON body is unchanged by signing. Signatures expire exactly 15 minutes after iat; receivers should reject expired signatures. If signing configuration is unavailable or invalid, Waterfall preserves backward compatibility by sending the callback unsigned without X-Webhook-Signature.

Maximum string length: 2083
Example:

"https://example.com/webhook"

custom_fields
object | null

Optional custom key-value metadata echoed on job input and output (useful for correlating internal source metadata). On create requests, omit the field or send JSON null when no custom fields are needed; both are stored as {}. When present, the value must be a JSON object with keys matching ^[A-Za-z0-9_-]+$ and values that are a string (max 1000 characters), number, or boolean. Empty string, arrays, and other non-object types return HTTP 400. On job GET responses, input.task.custom_fields is always an object ({} or populated).

Example:

Response

Company Reveal result returned successfully.

Company Reveal response with synchronous job envelope and output.

status
enum<string>
required

The status of the job.

Available options:
RUNNING,
SUCCEEDED,
FAILED,
TIMED_OUT,
ABORTED
Example:

"RUNNING"

start_date
string<date-time>
required

A date time in ISO 8601 format.

Example:

"2025-02-05T15:46:35.771751+00:00"

input
object
required
stop_date
string<date-time>

A date time in ISO 8601 format.

Example:

"2025-02-05T15:46:35.771751+00:00"

output
object

Company Reveal output payload.