---
title: "Url Companies"
method: POST
path: "/intent/url-companies"
tags: ["Intent"]
---

# Url Companies

`POST /intent/url-companies`

## Request

- Base URL: `https://be.graph8.com/api/v1`
- URL: `https://be.graph8.com/api/v1/intent/url-companies`
- Auth: HTTP bearer

Companies whose people visited a single URL, with a B2B/B2C split.

Aggregated from `{org_id}.intent_resolved`. Contact-resolved companies
only - IP-only company resolution is a separate treatment and is not
included here.

The response shape is field-for-field identical to the main-app
`POST /intent-search/url-companies` that backs the FE drill-down; key
parity between the two is locked by
`developer_api/tests/test_intent_url_companies_api.py`.

Failure semantics deliberately differ from that main-app route: it
swallows lookup errors and returns an empty result, which over this
surface would be indistinguishable from "nobody visited". Consistent
with its `/intent/pages/*` siblings, this raises 503 instead so a caller
can tell a degraded backend from a genuine zero.

## Headers

- `Authorization` string, nullable
- `X-Target-Org-Id` string, nullable

## Request body

- UrlCompaniesRequest
  - `url` string, required: Canonical page_url (no scheme, no www)
  - `days` integer
  - `limit` integer

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/graph8/apis/graph8-developer-api.md) · [All operations](https://skmtc.dev/graph8/apis/graph8-developer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/graph8/apis/graph8-developer-api/revisions/2e7cfa0ca921?raw)
