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 %3A and , as %2C in 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:true filters 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_data is returned as a JSON string in the response. Use json.loads() or JSON.parse() before accessing fields.

Next Steps