Most identity resolution APIs require a six-month enterprise contract, a dedicated integration team, and $300K+ annually just for API access. LiveRamp wants a “strategic partnership.” ZoomInfo gates their API behind six-figure deals. 6sense makes you sit through weeks of demos before you see a single endpoint.
Leadpipe requires one HTTP header.
Here’s everything the API can do — and how to be live in 5 minutes.
Table of Contents
- The API at a Glance
- Authentication
- The Data API (5 Endpoints)
- The Intent API (18 Endpoints)
- Webhooks
- Leadpipe API vs. Enterprise Alternatives
- What You Can Build
- FAQ
The API at a Glance
23 endpoints. One API key. That’s it.
No SDK to install. No OAuth flow to implement. No token refresh logic. No client secret rotation. A single X-API-Key header on every request, and you have access to the entire surface.
Here’s what you’re working with:
| API Group | Endpoints | What It Does |
|---|---|---|
| Data API | 5 | Create/manage pixels, query identified visitors, check account health |
| Intent API | 18 | Search 20,000+ intent topics, build audiences, export person-level buyer intent |
| Webhooks | 2 triggers | Real-time push of identified visitor data to your endpoint |
Base URL: https://api.aws53.cloud
Rate limit: 200 requests/minute (authenticated)
Response format: JSON
That’s the entire API. If you’ve integrated Stripe or Twilio before, the pattern will feel instantly familiar. Let’s walk through each piece.
Authentication
One header. That’s it.
curl -H "X-API-Key: sk_your_key" \
https://api.aws53.cloud/v1/data/account
Your key looks like sk_live_abc123.... You get it from Dashboard > Settings > API Keys > Create. Takes about 30 seconds.
No OAuth flows. No token refresh. No client secrets. No HMAC signing. Every request is stateless — send the header, get the data.
Security note: Treat your API key like a database password. Store it in environment variables, never in client-side code. If you’re building a multi-tenant platform, your key stays on your backend — your clients never see it.
Want the full authentication context? The complete developer guide covers key rotation, security patterns, and multi-environment setups.
The Data API (5 Endpoints)
The Data API handles everything related to visitor identification: creating pixels, managing them, querying identified visitors, and monitoring account health. Five endpoints, zero complexity.
1. Create a Pixel
POST /v1/data/pixels — Creates a new tracking pixel for a domain.
curl
curl -X POST https://api.aws53.cloud/v1/data/pixels \
-H "X-API-Key: sk_your_key" \
-H "Content-Type: application/json" \
-d '{"domain": "yoursite.com", "name": "Main Website"}'
Python
import requests
resp = requests.post(
"https://api.aws53.cloud/v1/data/pixels",
headers={"X-API-Key": "sk_your_key"},
json={"domain": "yoursite.com", "name": "Main Website"}
)
pixel = resp.json()
# Returns: id, domain, name, status, code (JS snippet), createdAt
JavaScript
const res = await fetch("https://api.aws53.cloud/v1/data/pixels", {
method: "POST",
headers: {
"X-API-Key": "sk_your_key",
"Content-Type": "application/json"
},
body: JSON.stringify({ domain: "yoursite.com", name: "Main Website" })
});
const pixel = await res.json();
// pixel.code contains the <script> tag to install
The response includes a code field — that’s the JavaScript snippet. Paste it in the <head> of your site and visitors start getting identified immediately. One API call, one pixel, done.
If you’re building a platform where each of your clients needs their own pixel, this is the endpoint you’ll call in your onboarding flow. Create a pixel per client, store the ID, and you get per-client data isolation out of the box. The SaaS integration tutorial walks through this exact pattern.
2. List Pixels
GET /v1/data/pixels — Returns all your pixels with their status.
curl -H "X-API-Key: sk_your_key" \
https://api.aws53.cloud/v1/data/pixels
Each pixel comes back with its domain, name, status (active/paused), and creation date. If you’re managing pixels for multiple clients — like an agency or SaaS platform — this is how you audit what’s running across your entire portfolio.
resp = requests.get(
"https://api.aws53.cloud/v1/data/pixels",
headers={"X-API-Key": "sk_your_key"}
)
for pixel in resp.json()["data"]:
print(f"{pixel['name']} ({pixel['domain']}) - {pixel['status']}")
3. Update a Pixel
PATCH /v1/data/pixels/{id} — Pause, activate, or configure a pixel.
curl -X PATCH https://api.aws53.cloud/v1/data/pixels/pixel_abc123 \
-H "X-API-Key: sk_your_key" \
-H "Content-Type: application/json" \
-d '{"status": "paused", "excludedPaths": ["/admin/*", "/internal/*"]}'
The excludedPaths field is worth highlighting. You can specify URL patterns that the pixel should ignore — admin panels, internal tools, logged-in user areas. This keeps your identification credits focused on actual prospects, not your own team browsing the site.
4. Query Visitors
GET /v1/data — The main event. Pull identified visitor data.
curl
curl -H "X-API-Key: sk_your_key" \
"https://api.aws53.cloud/v1/data?timeframe=7d&domain=yoursite.com"
Python
resp = requests.get(
"https://api.aws53.cloud/v1/data",
headers={"X-API-Key": "sk_your_key"},
params={"timeframe": "7d", "domain": "yoursite.com"}
)
visitors = resp.json()
for visitor in visitors["data"]:
print(f"{visitor['name']} - {visitor['email']} - {visitor['company']}")
JavaScript
const res = await fetch(
"https://api.aws53.cloud/v1/data?timeframe=7d&domain=yoursite.com",
{ headers: { "X-API-Key": "sk_your_key" } }
);
const { data: visitors } = await res.json();
visitors.forEach(v => console.log(v.name, v.email, v.company));
Returns up to 50 results per page. Each record includes the full person profile: name, business email, personal email, phone, LinkedIn URL, job title, company, pages viewed, visit duration, referrer, and timestamps.
This is person-level identification, not the company-only IP reverse lookup that most tools provide. You’re getting the actual human who visited, matched through deterministic matching against Leadpipe’s own identity graph.
5. Account Health
GET /v1/data/account — Check credits, pixel count, intent slots, and health status.
curl -H "X-API-Key: sk_your_key" \
https://api.aws53.cloud/v1/data/account
Returns a healthy boolean, remaining credits, active pixel count, and intent data slots. Build this into your monitoring. If healthy returns false, something needs attention — expired credits, inactive pixels, or configuration issues.
The Intent API (18 Endpoints)
The Intent API gives you person-level buyer intent across 20,000+ topics. Not company-level signals. Not “Acme Corp is researching CRM.” Actual people, with names, emails, and intent scores — filtered by your exact ICP.
The 18 endpoints break into four groups:
Discover Topics
| Endpoint | Method | What It Does |
|---|---|---|
/v1/site-topics | POST | Match a website URL to relevant topics |
/v1/intent/topics/inventory | GET | Browse the full 20K+ topic taxonomy |
/v1/intent/topics/inventory/facets | GET | Get distinct values with counts (industries, categories) |
/v1/intent/topics/search | GET | Autocomplete search for topics |
Analyze Trends
| Endpoint | Method | What It Does |
|---|---|---|
/v1/intent/topics/{id}/trend | GET | Daily audience size trend for a topic |
/v1/intent/topics/compare | POST | Compare up to 10 topics side by side |
/v1/intent/topics/movers | GET | Top growing and declining topics |
Build Audiences
| Endpoint | Method | What It Does |
|---|---|---|
/v1/intent/audience/filters | GET | Available ICP filters (seniority, industry, size, etc.) |
/v1/intent/topics/audience/preview | POST | Preview count + sample records before committing |
/v1/intent/topics/audience | POST | Full audience query with all ICP filters |
/v1/intent/audiences | POST | Save an audience for daily refresh |
/v1/intent/audiences | GET | List saved audiences |
/v1/intent/audiences/{id} | GET | Get a specific audience |
/v1/intent/audiences/{id} | PATCH | Update audience config |
/v1/intent/audiences/{id} | DELETE | Delete an audience |
Export Data
| Endpoint | Method | What It Does |
|---|---|---|
/v1/intent/audiences/{id}/export | POST | Generate a CSV with signed download URL (24h expiry) |
/v1/intent/audiences/{id}/runs | GET | Daily run history with row counts |
/v1/intent/audiences/{id}/stats | GET | Fill rate statistics across data fields |
The 4-Call Workflow
Here’s the entire intent data workflow in four API calls. From topic search to CSV export in under a minute.
Step 1: Find topics
curl -H "X-API-Key: sk_your_key" \
"https://api.aws53.cloud/v1/intent/topics/search?q=CRM&type=b2b"
Returns a list of matching topics with IDs, names, and categories. Pick the ones that align with your product.
Step 2: Preview the audience
curl -X POST https://api.aws53.cloud/v1/intent/topics/audience/preview \
-H "X-API-Key: sk_your_key" \
-H "Content-Type: application/json" \
-d '{
"topicIds": [1234],
"filters": {
"seniority": ["VP", "Director"],
"employeeRange": ["50-200", "201-500"]
}
}'
Returns the total count of matching people plus a sample of records. Check if the audience size and quality match what you need before saving.
Step 3: Save the audience
curl -X POST https://api.aws53.cloud/v1/intent/audiences \
-H "X-API-Key: sk_your_key" \
-H "Content-Type: application/json" \
-d '{
"name": "CRM Buyers - VP+",
"config": {
"topicIds": [1234],
"filters": {
"seniority": ["VP", "Director"],
"employeeRange": ["50-200", "201-500"]
}
}
}'
Once saved, Leadpipe materializes fresh results daily. New people researching your topics get added automatically. You’re not working with a static list — it’s a living audience.
Step 4: Export to CSV
curl -X POST https://api.aws53.cloud/v1/intent/audiences/{audience_id}/export \
-H "X-API-Key: sk_your_key"
Returns a signed download URL valid for 24 hours. The CSV includes every field: name, email, phone, LinkedIn, company, job title, intent score, and the specific topics each person is researching.
You can also check how your exports are performing over time:
# Check daily run history
curl -H "X-API-Key: sk_your_key" \
"https://api.aws53.cloud/v1/intent/audiences/{audience_id}/runs"
# Check fill rates across data fields
curl -H "X-API-Key: sk_your_key" \
"https://api.aws53.cloud/v1/intent/audiences/{audience_id}/stats"
The /runs endpoint returns each day’s date, row count, and status — useful for monitoring whether your audience is growing or shrinking. The /stats endpoint shows fill rates across data fields (email, phone, LinkedIn, etc.) so you know what coverage to expect.
That’s four API calls to go from “I want people researching CRM” to a downloadable CSV of VPs and Directors who are actively in-market. No sales calls. No six-figure contract. No onboarding team. For the full 18-endpoint deep dive with ICP filter documentation, see the Intent API guide.
Webhooks
The API handles pull. Webhooks handle push. If you want real-time visitor data streamed to your backend the moment someone is identified, webhooks are how you do it.
Leadpipe supports two webhook triggers:
| Trigger | When It Fires | Best For |
|---|---|---|
| First Match | Once per visitor, on first identification | CRM updates, outreach triggers, lead routing |
| Every Update | On every page view for identified visitors | Behavioral tracking, scoring, AI agent feeds |
What the Payload Includes
Every webhook POST delivers structured JSON with:
- Person data: Full name, business email, personal email, phone, LinkedIn URL, job title
- Company data: Company name, domain, industry, employee count
- Behavioral data: Page URL, visit duration, referrer, session timestamp
- Metadata: Pixel ID, visitor ID, match confidence
Here’s what a webhook payload looks like in practice:
{
"event": "visitor.identified",
"visitor": {
"name": "Sarah Chen",
"email": "sarah.chen@acmecorp.com",
"personalEmail": "sarahc@gmail.com",
"phone": "+14155550142",
"linkedin": "linkedin.com/in/sarahchen",
"jobTitle": "VP of Marketing",
"company": {
"name": "Acme Corp",
"domain": "acmecorp.com",
"industry": "SaaS",
"employees": "201-500"
}
},
"session": {
"pageUrl": "https://yoursite.com/pricing",
"duration": 247,
"referrer": "https://google.com",
"timestamp": "2026-04-01T14:23:11Z"
}
}
Set up your webhook endpoint in the dashboard under Settings > Webhooks, or configure it programmatically when creating a pixel. The webhook payload reference documents every field in detail.
Which Trigger Should You Use?
Use First Match if you care about knowing who visited. This is the right trigger for CRM syncing, Slack notifications, lead routing, and outreach automation. One visitor, one webhook, one action. Most teams start here.
Use Every Update if you care about behavior. This fires on every page view for identified visitors, so you can build page-view timelines, scoring models, and real-time dashboards. If you’re powering an AI SDR that adjusts its messaging based on which pages a prospect just viewed, this is the trigger you want.
You can enable both simultaneously. First Match handles the initial outreach trigger. Every Update feeds your behavioral analytics. They work on the same data, just at different frequencies.
The key insight: Your backend doesn’t need to poll. Data gets pushed the moment someone is identified. Event-driven, not batch-processed. This is what makes it possible to feed visitor data into AI agents that act in real time — the data layer AI sales agents are missing.
Leadpipe API vs. Enterprise Alternatives
Here’s where the industry stands. Most providers treat API access as a premium feature reserved for enterprise contracts. Leadpipe treats it as the default.
| Leadpipe | LiveRamp | ZoomInfo | 6sense | |
|---|---|---|---|---|
| Self-serve signup | Yes | No | No | No |
| API access | All plans | Enterprise only | Enterprise only | Enterprise only |
| Time to first API call | Minutes | Months | Weeks | Months |
| Authentication | 1 header | OAuth + contracts | OAuth + contracts | OAuth + contracts |
| Pricing | $147/mo+ | $300K+/yr | $100K+/yr | $25K+/yr |
| Documentation | Public | Gated | Gated | Gated |
| Person-level data | Yes | Yes | Limited | No |
| Intent data | 20K+ topics | No | Limited | Yes (company only) |
| Webhooks | Real-time | No | Limited | Limited |
The difference isn’t just price. It’s access model.
You can sign up for Leadpipe, generate an API key, and make your first call in the time it takes to schedule a demo with the alternatives. There’s no procurement process. No NDAs to sign. No “let me loop in my enterprise team” emails. No minimum annual commitment.
Month-to-month billing, starting at $147/month with a free trial of 500 identified leads — no credit card required. Cancel anytime. Scale up or down as your needs change.
And there’s a philosophical difference worth noting: Leadpipe builds its own identity graph. Most competitors resell the same third-party graphs to each other, which is why match rates tend to converge around the same mediocre numbers. Leadpipe’s proprietary graph is what delivers the 30-40%+ match rates and 240-300% more leads in head-to-head accuracy tests.
For a deeper cost breakdown across the visitor identification market, see the pricing comparison guide.
What You Can Build
The API is a building block. Here’s what developers and teams are building on top of it:
- AI sales agent that acts on real-time visitor data — Feed Visitor Data Into Your AI Agent
- Custom AI SDR with personalized outreach triggered by page visits — Build a Custom AI SDR
- Multi-tenant SaaS feature that gives each of your clients visitor identification — Multi-Tenant Visitor Identification
- Clay enrichment pipeline with Leadpipe as the first waterfall step — Add Visitor ID to Clay Waterfall
- White-label agency tool with your branding on the dashboard — White-Label Visitor Identification
- RevOps data pipeline feeding CRM, marketing automation, and analytics — Leadpipe for RevOps
Every one of these patterns starts with the same foundation: an API key and the endpoints covered in this guide. The identity resolution for platforms guide walks through the build-vs-buy decision if you’re evaluating whether to build identification yourself or embed an existing solution.
Get Started
Sign up free — 500 identified leads, no credit card.
Grab your API key from the dashboard, make your first call, and see identified visitor data flowing back in minutes. Not weeks. Not after a sales cycle. Today.
If you want the deep-dive developer reference, the complete API developer guide covers every endpoint, every parameter, every edge case. If you want a step-by-step tutorial for SaaS platforms, start with Add Identity Resolution to Your SaaS in 10 Minutes.
Start building with the Leadpipe API.
FAQ
How long does it take to start seeing identified visitors?
Minutes. Create your account, generate an API key, create a pixel via API, install the script tag on your site, and visitor data starts flowing as soon as you get traffic. The pixel install itself is a two-minute copy-paste job.
What’s the match rate?
30-40%+ depending on traffic quality. Leadpipe uses its own deterministic identity graph — not a resold third-party graph. In head-to-head tests, that translates to 240-300%+ more identified leads than competing tools. The independent accuracy test results have the full breakdown.
Is there an SDK or do I use raw HTTP?
Raw HTTP. The API is a standard REST interface that works with any language that can make HTTP requests — curl, Python, JavaScript, Go, Ruby, Java, whatever you use. No proprietary SDK to install, no dependency to maintain, no version conflicts. The code examples in this guide work as-is.
What does API access cost?
All Leadpipe plans include API access. Plans start at $147/month for 500 identifications. Agency/white-label plans start at $1,279/month for 20,000 identifications. There’s a free trial with 500 identified leads, no credit card required. Month-to-month billing with no annual contracts. Full pricing details in the pricing guide.
Related Articles
- Visitor Identification API: Complete Developer Guide
- Add Identity Resolution to Your SaaS in 10 Minutes
- Identity Resolution for Platforms: Build vs. Buy vs. Embed
- Feed Real-Time Visitor Data Into Your AI Agent
- Leadpipe Intent API: 20,000 Topics, Person-Level
- Webhook Payload Reference: Every Visitor Data Field
- Identity Data as a Service: API-First Visitor Identification