High-Intent Visitors
Export identified visitors who viewed your pricing or product pages in the last 24 hours
Use Case
- Daily lead list for sales outreach
- Identify resolved visitors showing buying signals (pricing pages, demo pages, contact pages)
- Filter by page URL patterns and export unique contacts
Prerequisites
- Organization API key + secret pair (Authentication). Create one at
https://app.delivr.ai/{org_id}/settings/api-keys. - Pixel ID from your dashboard or the On-Domain Events API
How URL Filtering Works
The visited page URL is stored inside the event_data field as a JSON string. There is no standalone event_url field. To find visitors on specific pages, fetch event_type:eq:page_view events and parse the URL from event_data.url in your code.
{
"event_type": "page_view",
"event_data": "{\"url\":\"https://yoursite.com/pricing\",\"title\":\"Pricing - YourSite\",...}",
"first_name": "jane",
"last_name": "smith",
"company_name": "acme corp"
}Steps
1. Set Up Your Time Range
Events require a time range in milliseconds (Unix epoch).
# Last 24 hours in milliseconds
END_MS=$(python3 -c "import time; print(int(time.time()*1000))")
START_MS=$(python3 -c "import time; print(int((time.time()-86400)*1000))")2. Fetch Resolved Page View Events
Fetch all resolved page view events and filter by URL in your code.
curl "https://api.delivr.ai/api/v2/events?source=pixel&pixel_id=YOUR_PIXEL_ID&start_ms=$START_MS&end_ms=$END_MS&filter=resolved%3Aeq%3Atrue%2Cevent_type%3Aeq%3Apage_view&select=first_name,last_name,current_business_email,company_name,job_title,seniority_level,event_data,timestamp&distinct=hem&limit=100" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "X-Api-Secret: YOUR_API_SECRET"Filter:
resolved:eq:true,event_type:eq:page_view. URL-encode:as%3Aand,as%2Cin curl.
Expected Response
{
"pixel_id": "8a755c42-b2b1-...",
"start_ms": 1706745600000,
"end_ms": 1706832000000,
"limit": 100,
"offset": 0,
"rows": [
{
"first_name": "jane",
"last_name": "smith",
"current_business_email": "[email protected]",
"company_name": "acme corp",
"job_title": "vp of marketing",
"seniority_level": "vp",
"timestamp": "2026-01-15T14:30:00Z",
"event_data": "{\"url\":\"https://yoursite.com/pricing\",\"title\":\"Pricing\"}"
}
],
"meta": { "files_scanned": 29, "took_ms": 145 }
}Python Example: Pricing Page Lead List
Fetch resolved page view events and filter to pricing-page visitors in code.
import json
import time
import requests
API_KEY = "your_api_key"
API_SECRET = "your_api_secret"
PIXEL_ID = "your_pixel_id"
HEADERS = {
"X-Api-Key": API_KEY,
"X-Api-Secret": API_SECRET,
}
# Last 24 hours
end_ms = int(time.time() * 1000)
start_ms = end_ms - (24 * 60 * 60 * 1000)
# URL patterns to match (checked against event_data.url)
HIGH_INTENT_PATTERNS = ["/pricing", "/demo", "/contact", "/get-started"]
all_rows = []
offset = 0
limit = 100
while True:
resp = requests.get(
"https://api.delivr.ai/api/v2/events",
headers=HEADERS,
params={
"source": "pixel",
"pixel_id": PIXEL_ID,
"start_ms": start_ms,
"end_ms": end_ms,
"limit": limit,
"offset": offset,
"filter": "resolved:eq:true,event_type:eq:page_view",
"select": "first_name,last_name,current_business_email,company_name,job_title,seniority_level,event_data,timestamp",
"distinct": "hem",
},
)
rows = resp.json().get("rows", [])
all_rows.extend(rows)
if len(rows) < limit:
break
offset += limit
# Filter to high-intent page visitors
leads = []
for row in all_rows:
event_data = json.loads(row.get("event_data") or "{}")
url = event_data.get("url", "")
if any(pattern in url for pattern in HIGH_INTENT_PATTERNS):
leads.append({
"name": f"{row.get('first_name', '')} {row.get('last_name', '')}".strip(),
"email": row.get("current_business_email", ""),
"company": row.get("company_name", ""),
"job_title": row.get("job_title", ""),
"seniority": row.get("seniority_level", ""),
"page": url,
"timestamp": row.get("timestamp", ""),
})
print(f"Found {len(leads)} high-intent visitors")
for lead in leads:
print(f" {lead['name']} ({lead['company']}) - {lead['page']}")Variations
Deduplicate by Company
One row per unique company instead of one row per person:
params={
...,
"distinct": "company_domain",
"has_valuable_data": "true",
"select": "company_name,company_domain,company_industry,company_employee_count_range,first_name,last_name,job_title,event_data",
}Get Visitor Count First
Check how many resolved page view events exist before fetching full data:
curl "https://api.delivr.ai/api/v2/event_counts?source=pixel&pixel_id=YOUR_PIXEL_ID&start_ms=$START_MS&end_ms=$END_MS&filter=resolved%3Aeq%3Atrue%2Cevent_type%3Aeq%3Apage_view" \
-H "X-Api-Key: YOUR_API_KEY" \
-H "X-Api-Secret: YOUR_API_SECRET"Response:
{
"count": 287,
"meta": { "took_ms": 51 }
}Filter by Seniority
Add a seniority filter to surface decision-makers only. Because seniority_level is an enrichment field, you can server-side filter it along with resolved:eq:true:
"filter": "resolved:eq:true,event_type:eq:page_view",
# Then post-filter seniority in code:
leads = [r for r in all_rows if r.get("seniority_level") in ("vp", "director", "cxo")]Notes
- The Events API has a 25-hour maximum time window per request. For longer ranges, make multiple requests in 24-hour chunks.
resolved:eq:truefilters for events where the visitor was identified. Without this filter, you'll also get anonymous events.- The visited page URL lives in
event_data.url(a JSON string). Parse it client-side to filter by path. event_datais returned as a JSON string in the response. Usejson.loads()orJSON.parse()before accessing fields.
Next Steps
- On-Domain Events API: full events API reference (filters, pagination, field projection)
- Export Events to CSV: export the full visitor list to CSV
- Intent Audiences API: create audiences from intent topics instead of pixel data
