- finding the topics that map to your category
- analyzing a site to see which topics it maps to
- previewing how much real demand exists around those topics
- narrowing the audience with filters like seniority, industry, company size, or contact coverage
- saving the audience so it can refresh over time
- checking status and retrieving the people behind that demand
What Orbit is
Orbit is Leadpipe’s intent audience API. Use it to find people who are actively researching specific B2B or B2C topics, then narrow those audiences with ICP filters such as company, seniority, industry, department, and contact availability. The typical Orbit workflow looks like this:- Analyze a site or browse topics
- Preview the audience size
- Save an audience
- Activate it
- Check materialization status
- Retrieve results or export a CSV when needed
- search for topics directly
- analyze a website to generate matching topics automatically
Two ways to create an audience
Orbit supports two practical starting points:- Search topics directly when you already know the subjects you care about.
- Analyze a website when you want Orbit to suggest matching topics for that company or category.
Audience refresh
Saved audiences refresh on a recurring daily cadence, so you can review new runs over time and export fresh results when needed.Base URL
Authentication
Authenticated requests can use anX-API-Key header.
Quick start
Endpoint groups
Topic discovery
| Method | Path | Auth | Purpose |
|---|---|---|---|
POST | /v1/intent/topics/analyze | No | Match a website to intent topics |
GET | /v1/intent/topics | No | Browse all topics |
GET | /v1/intent/topics/facets | No | Get filter values with counts |
GET | /v1/intent/topics/search | No | Autocomplete topic search |
GET | /v1/intent/topics/{topicId}/trend | No | Get daily trend for a topic |
POST | /v1/intent/topics/compare | No | Compare multiple topics |
GET | /v1/intent/topics/movers | No | See top movers by audience growth |
Audience builder
| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | /v1/intent/audiences/filters | x-api-key | Get ICP filter values |
POST | /v1/intent/audiences/preview | x-api-key | Preview count and masked samples |
POST | /v1/intent/audiences/query | x-api-key | Run a full audience query |
GET | /v1/intent/audiences | x-api-key | List saved audiences |
GET | /v1/intent/audiences/{id} | x-api-key | Get one audience |
POST | /v1/intent/audiences | x-api-key | Create an audience |
PATCH | /v1/intent/audiences/{id} | x-api-key | Update, activate, or pause |
DELETE | /v1/intent/audiences/{id} | x-api-key | Delete an audience |
Audience results
| Method | Path | Auth | Purpose |
|---|---|---|---|
GET | /v1/intent/audiences/{id}/status | x-api-key | Check materialization status |
GET | /v1/intent/audiences/{id}/results | x-api-key | Get paginated audience results |
GET | /v1/intent/audiences/{id}/runs | x-api-key | List daily runs |
GET | /v1/intent/audiences/{id}/stats | x-api-key | Get fill rates |
POST | /v1/intent/audiences/{id}/export | x-api-key | Export CSV |
Errors
| Status | Code | Meaning |
|---|---|---|
400 | VALIDATION_ERROR | Invalid request |
401 | AUTHENTICATION_ERROR | Missing or invalid API key |
403 | DRAFT_AUDIENCE | Audience is draft and must be activated first |
403 | NO_INTENT_CREDITS | Plan does not include intent slots |
403 | SLOTS_FULL | All audience slots are in use |
404 | NOT_FOUND | Audience or requested run was not found |
429 | — | Rate limit exceeded |
500 | PROCESSING_ERROR | Query failed |
Rate limits
| Auth mode | Limit |
|---|---|
| Unauthenticated | 2 requests per minute on all intent endpoints |
| Authenticated via API key or Bearer | 200 requests per minute |