> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leadpipe.com/llms.txt
> Use this file to discover all available pages before exploring further.

# IP to company API overview

> Look up stored company information for an IP address and handle results, usage, and errors

Use `GET /v1/data/company` to look up stored company information for one IPv4 or IPv6 address. The response contains company details and usage metadata. It does not return people, visits, pixels, or organization data, and it does not start a new enrichment request.

The mapping is provider-reported and may be stale. A company result is not proof that the company owns the IP address or that a particular person visited your site.

## Before you start

You need an active organization API key, an organization eligible for company lookups, and `curl`. Create or manage keys in **Settings > API Keys**. Keep your key in your backend or secret manager and set it as `LEADPIPE_API_KEY` for the example below.

Provide one IP address without a URL, port, CIDR suffix, or IPv6 zone identifier. The API normalizes IPv6 spelling and treats IPv4-mapped IPv6 addresses as their IPv4 equivalent.

## Look up an IP address

Replace `192.0.2.10` with the address you want to look up. This documentation address is illustrative; it does not guarantee a company result.

```bash theme={null}
curl "https://api.aws53.cloud/v1/data/company?ip=192.0.2.10" \
  -H "X-API-Key: $LEADPIPE_API_KEY"
```

<Warning>
  Every request that returns a company consumes one company-lookup unit, including repeated requests for the same address. Do not prefetch or cache responses; the endpoint returns `Cache-Control: no-store`. Avoid automatic retries after an uncertain response because another successful lookup consumes another unit.
</Warning>

## Interpret the result

A successful request returns `200` with `data` and `meta`:

| Result              | Meaning                                                                                                              | Usage                           |
| ------------------- | -------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| `data` is an object | A stored company mapping is available. Inspect the available company fields.                                         | `meta.credits_consumed` is `1`. |
| `data` is `null`    | No successful company identity is stored for this address. This does not prove the address is not used by a company. | `meta.credits_consumed` is `0`. |

A null result does not queue enrichment. Handle it as an unavailable company result rather than polling for a job to finish.

The company schema uses fields such as `name`, `website`, and `employeeCount`. Strings can be empty, and fields such as employee count and LinkedIn profile can be `null`. `annualSales` has no supplied currency; do not assume it is a dollar amount.

Use [Look up a company by IP address](/api-reference/visitors/look-up-a-company-by-ip-address) for the complete schema and company/no-company examples.

## Track your company-lookup allowance

Company lookups have a separate organization-wide allowance equal to the effective identification-plan limit. All API keys in the organization share it. Other products do not consume this allowance, and it resets when the organization's existing billing allowance resets.

Read the successful response's `meta` values:

| Field              | Meaning                                                              |
| ------------------ | -------------------------------------------------------------------- |
| `credits_consumed` | Units used by this request: `1` for a company result, otherwise `0`. |
| `limit`            | Company-lookup allowance for the current billing period.             |
| `used`             | Company-lookup units used, including this request.                   |
| `remaining`        | Company-lookup units left after this request.                        |

Once the allowance is exhausted, further lookups are refused. A short wait does not restore the billing allowance; it requires a billing reset or a limit increase.

## Handle errors and rate limits

Requests are limited to 60 per minute per client IP. `RateLimit-Limit`, `RateLimit-Remaining`, and `RateLimit-Reset` describe request pacing; they are separate from the company allowance in `meta`. The reset header is in seconds.

| Status                      | What to do                                                                                                                                        |
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `400`                       | Supply one valid IPv4 or IPv6 address without extra URL, port, CIDR, or zone information.                                                         |
| `401`                       | Check that `X-API-Key` contains a valid key.                                                                                                      |
| `403`                       | Check whether the key was revoked or the organization is ineligible; confirm access with Leadpipe if needed.                                      |
| `429` for request rate      | Respect `Retry-After` in seconds and reduce request frequency.                                                                                    |
| `429` for company allowance | Stop requests until the billing allowance resets or the limit increases. Inspect the error message to distinguish this from a pacing limit.       |
| `503`                       | The company lookup or allowance service is unavailable. Capture the redacted error and request ID when present, and escalate persistent failures. |

Error responses contain `error.code` and `error.message`. Error `meta`, when present, contains diagnostic information rather than the successful response's allowance counters.

## Related APIs

* Use the [Identification API](/api-reference/introduction) for identified visitors, their activity, and pixel management.
* Use the [Orbit API](/orbit-api/introduction) for audiences based on topic research signals.

The endpoint reference is generated from the [hosted Identification OpenAPI specification](https://api.aws53.cloud/openapi-data.json), which also contains the company-lookup operation.
