Skip to main content
Pull the same metrics you see in the dashboard — revenue, impressions, placements, devices, geography, user insights — from scripts, cron jobs, or custom integrations. All endpoints are read-only.

Base URL

Authentication

Every request must include your Gravity API key in the X-API-Key header. Grab the key from your dashboard under Settings → Platform Settings.
This is the same API key used to serve ads. No extra credentials required.

Endpoints

GET /publisher-dashboard/info

Publisher profile and lifetime totals.
string
required
Your Gravity API key.
Response

GET /publisher-dashboard/stats

Daily performance time series — impressions, clicks, revenue, CPM, CPC, CTR.
integer
default:"30"
Number of days to look back (1–3650).
string
Start date (YYYY-MM-DD). Overrides days when paired with end_date.
string
End date (YYYY-MM-DD).
string
default:"UTC"
IANA timezone for date bucketing (e.g. America/New_York).
Response

GET /publisher-dashboard/activity

Ad request funnel — requests, wins, impressions, fill rate, show rate.
integer
default:"7"
Number of days (1–30).
string
Start date (YYYY-MM-DD).
string
End date (YYYY-MM-DD).
string
default:"UTC"
IANA timezone.
Response

GET /publisher-dashboard/placements

Per-placement performance breakdown with daily time series.
integer
default:"7"
Number of days (1–365).
string
Start date (YYYY-MM-DD).
string
End date (YYYY-MM-DD).
Response

GET /publisher-dashboard/devices

Performance breakdown by device type (desktop, mobile, tablet).
integer
default:"30"
Number of days (1–365).
string
Start date (YYYY-MM-DD).
string
End date (YYYY-MM-DD).
Response

GET /publisher-dashboard/geography

Per-country performance breakdown.
integer
default:"30"
Number of days (1–365).
string
Start date (YYYY-MM-DD).
string
End date (YYYY-MM-DD).
Response

GET /publisher-dashboard/users

Paginated per-user lifetime stats with sorting and search.
integer
default:"1"
Page number (starts at 1).
integer
default:"50"
Results per page (1–200).
string
default:"requests"
Sort column. One of: requests, ads_served, impressions, clicks, revenue_microdollars, first_seen, last_seen.
string
default:"desc"
Sort direction: asc or desc.
Filter users by ID (partial match).
Response

GET /publisher-dashboard/countries

Top countries by user count.
integer
default:"20"
Number of countries to return (1–100).
Response

MCP server

The reporting endpoints above are also exposed as an MCP server, so AI agents and MCP-capable clients can query your account directly.
  • Endpoint: POST https://platform.trygravity.ai/mcp (JSON-RPC 2.0 over HTTP)
  • Auth: X-API-Key header (or Authorization: Bearer <key>)
A publisher API key unlocks read-only tools mirroring this API: publisher_get_info, publisher_get_stats, publisher_get_activity, publisher_get_placements, publisher_get_devices, publisher_get_geography, publisher_get_users, and publisher_get_countries.

Code examples

Errors

Questions

Email support@trygravity.ai for anything API-related. We read it.