Skip to main content
Query traffic and performance data for your website, cached Google Search Console stats, and AI bot crawl activity. Function: public-api-analytics Base path: https://app.keupera.com/api/v1/public-api-analytics

Common parameters

All analytics endpoints accept these date range parameters:
ParameterTypeDefaultDescription
website_idUUIDAPI key’s websiteTarget website
rangestring30dPreset range: 7d, 30d, 90d
fromstringStart date (YYYY-MM-DD)
tostringEnd date (YYYY-MM-DD)
When both from and to are provided, range is ignored.

Website analytics

Real-time web analytics from your Keupera tracking script.

Summary

GET /website/summary
{
  "data": {
    "unique_visitors": 15420,
    "total_visits": 23150,
    "pageviews": 45000,
    "views_per_visit": 1.94,
    "avg_visit_duration": 185.5,
    "bounce_rate": 42.3
  }
}

Daily traffic

GET /website/daily
{
  "data": [
    { "date": "2024-01-15", "pageviews": 1500, "visits": 800, "visitors": 650 }
  ]
}

Top pages

GET /website/top-pages
ParameterTypeDefaultDescription
limitinteger20Number of pages to return
{
  "data": [
    { "path": "/blog/seo-guide", "views": 5200, "unique_visitors": 4100 },
    { "path": "/", "views": 3400, "unique_visitors": 2800 }
  ]
}

Referrers

GET /website/referrers
ParameterTypeDefaultDescription
limitinteger20Number of sources to return
{
  "data": [
    { "source": "google.com", "views": 8000, "visits": 6500 },
    { "source": "Direct", "views": 3500, "visits": 3000 }
  ]
}

Device breakdown

GET /website/devices
{
  "data": [
    { "device": "Desktop", "views": 25000, "visits": 15000 },
    { "device": "Mobile", "views": 18000, "visits": 12000 },
    { "device": "Tablet", "views": 2000, "visits": 1500 }
  ]
}

Browser breakdown

GET /website/browsers
{
  "data": [
    { "browser": "Chrome", "views": 30000, "visits": 18000 },
    { "browser": "Safari", "views": 8000, "visits": 5000 }
  ]
}

Geographic traffic

GET /website/geo
{
  "data": [
    { "country": "US", "views": 15000, "visits": 10000 },
    { "country": "GB", "views": 5000, "visits": 3500 }
  ]
}

Search Console

Google Search Console data cached in Keupera’s database.

Daily stats

GET /search-console/daily
{
  "data": [
    {
      "date": "2024-01-15",
      "clicks": 250,
      "impressions": 12000,
      "ctr": 2.08,
      "position": 15.3
    }
  ]
}

Top keywords

GET /search-console/keywords
ParameterTypeDefaultDescription
limitinteger100Max keywords to return
{
  "data": [
    {
      "keyword": "best seo tools",
      "clicks": 450,
      "impressions": 8500,
      "ctr": 5.29,
      "position": 4.2
    }
  ]
}

Top pages

GET /search-console/pages
ParameterTypeDefaultDescription
limitinteger100Max pages to return
{
  "data": [
    {
      "page": "https://example.com/blog/seo-guide",
      "clicks": 800,
      "impressions": 15000,
      "ctr": 5.33,
      "position": 6.1
    }
  ]
}

Bot traffic

AI bot crawl activity on your website.

Summary by bot

GET /bot-traffic/summary
{
  "data": {
    "bots": [
      { "bot_name": "GPTBot", "total_visits": 1500 },
      { "bot_name": "ClaudeBot", "total_visits": 800 },
      { "bot_name": "Googlebot", "total_visits": 5000 }
    ],
    "total_visits": 7300
  }
}

Daily bot traffic

GET /bot-traffic/daily
{
  "data": [
    { "visit_date": "2024-01-15", "bot_name": "GPTBot", "total_visits": 50 },
    { "visit_date": "2024-01-15", "bot_name": "ClaudeBot", "total_visits": 30 }
  ]
}

Top crawled pages

GET /bot-traffic/top-pages
ParameterTypeDefaultDescription
limitinteger20Number of pages to return
{
  "data": [
    { "path": "/blog/seo-guide", "total_visits": 250 },
    { "path": "/pricing", "total_visits": 180 }
  ]
}