+961 3 004 939 (Technical)
+961 70 991 992 (General & Meetings)
Mon. - Fri. 09:00 - 18:00

REST API

Your data belongs in whatever dashboard your team already lives in. 7 read endpoints, plain JSON, no SDK required.

Thirty seconds to your first response

Mint a key in the dashboard under API Keys, then send it as a bearer token. That is the whole setup.

# List every keyword you are tracking
curl -H "Authorization: Bearer sk_your_key_here" \
     "https://seo.newinterval.com/api/v1/keywords?project_id=3"
{
  "data": [
    {
      "id": 812,
      "keyword": "seo platform lebanon",
      "project_id": 3,
      "country": "LB",
      "location": "Beirut",
      "current_position": 4,
      "last_checked": "2026-07-30 06:12:03"
    }
  ],
  "meta": { "count": 1, "project_id": 3 }
}

Every response uses the same envelope: results under data, context under meta. Errors come back as {error, code, message} with a matching HTTP status. There is nothing else to learn.

The endpoints

All GET. All scoped to what the key's user is allowed to see — a key issued to someone with access to one project cannot read another.

Endpoint Returns Filters
/api/v1/ The endpoint index — useful as a connectivity check. —
/api/v1/projects Projects the key's user can access. —
/api/v1/keywords Tracked keywords with their current positions. project_id, status, search
/api/v1/positions Full rank history for a keyword. keyword_id, from, to
/api/v1/gsc Search Console clicks, impressions and positions. project_id, period_days
/api/v1/alerts Recent alerts. unread
/api/v1/credits Current balance plus the ten most recent ledger rows. —
Read-only, deliberately. The API reads your data; it does not create projects, add keywords or trigger checks. Anything that spends credits happens in the dashboard where you can see what it will cost. Write endpoints are on the roadmap, not in the product — so do not build against them yet.

Keys, limits and good behaviour

Shown once, then hashed

The full key appears exactly once, when you create it. After that only its first few characters are displayed. We store a keyed hash, never the key itself — so a database leak does not hand anyone your API access.

1,000 requests per hour

Per key, counted server-side. Every response carries X-RateLimit-Limit and X-RateLimit-Remaining so you can back off before you hit the wall rather than after.

Expire and revoke

Give a key an expiry date when you create it, or revoke it instantly. Issue one key per integration and you can cut off exactly one thing when you need to.

API reads cost nothing

Reading data you already collected does not spend credits. Poll as often as the rate limit allows.

Authentication

Send the key as a bearer token:

Authorization: Bearer sk_live_xxxxxxxxxxxxxxxxxxxx

If your client cannot set headers, a ?token= query parameter works as a fallback — but prefer the header, since query strings end up in server logs and browser history.

Availability

API access is included on the Agency and Network plans. See the comparison.

Build against it

Start on Agency, mint a key and have your rankings in your own dashboard the same afternoon.

WhatsApp