inetGeek docs
REST APIReference

Estimates and changes

GET
/estimate

What each provider that publishes a per-volume price would charge a month at the volume you give: plan fee plus overage, cheapest first, with the plan, the formula, the vendor page and the date it was read. Covers web analytics (pageviews or events), email (emails a month) and auth (monthly active users). This is inetGeek's arithmetic on published rates, not a quote. A provider absent from priced and not_priced has no readable per-volume price on file, which says nothing about its price: use /providers/{id}.

Authorization

headerX-Api-Key<token>

A key from POST /keys, starting igk_. Never send it in the URL.

Query Parameters

units*number

The monthly volume, in the unit named by unit.

Range0 < value
unit?string

What units counts.

Default"pageviews"
Value in"pageviews""events""emails""mau"
category?string

A URL section or category id to price, such as analytics. Omit for every category with per-volume prices.

events_per_pageview?number

Events recorded per pageview, used only to compare pageviews against plans that bill in events (or the reverse). 1 means a bare pageview.

Range0 < value
Default1
sites?integer

How many websites the plan must cover. Plans with a lower stated cap are skipped; plans that state no cap are kept and flagged.

Range1 <= value

Response Body

The estimate.

application/json
  1. response
data*
Example Request
curl -X GET 'https://inetgeek.com/api/v1/estimate?units=500000'
Example Response
{  "data": {    "input": {},    "basis": "string",    "priced": [      {        "provider": "string",        "name": "string",        "url": "http://example.com",        "plan": "string",        "monthly_usd_low": 0,        "monthly_usd_high": 0,        "one_time_usd": 0,        "billed_unit": "string",        "billed_units": 0,        "formula": "string",        "caveats": [          "string"        ],        "source_url": "http://example.com",        "verified_at": "string"      }    ],    "not_priced": [      {        "provider": "string",        "name": "string",        "reason": "string"      }    ],    "other_currency_not_converted": [      "string"    ]  }}

What changed

GET
/changelog

Every recorded change to a published fact, newest first, with the old and new value and the commit that made it.

Authorization

headerX-Api-Key<token>

A key from POST /keys, starting igk_. Never send it in the URL.

Query Parameters

provider?string

Restrict to one provider id.

limit?integer

Page size, 1 to 200.

Range1 <= value <= 200
Default50
offset?integer

Rows to skip.

Range0 <= value
Default0

Response Body

A page of changes.

application/json
  1. response
data*array<>
page*
generated_at?string
Example Request
curl -X GET 'https://inetgeek.com/api/v1/changelog'
Example Response
{  "data": [    {      "kind": "string",      "cause": "string",      "id": "string",      "name": "string",      "field": "string",      "from": null,      "to": null,      "source": "string",      "verified_at": "string",      "date": "string",      "commit": "string"    }  ],  "page": {    "total": 0,    "limit": 0,    "offset": 0  },  "generated_at": "string"}
GET
/startup-credits

Every provider documented as offering one, with the amount and eligibility as published, a source and the date it was checked. Absence means undocumented, not a confirmed no.

Authorization

headerX-Api-Key<token>

A key from POST /keys, starting igk_. Never send it in the URL.

Response Body

Programmes.

application/json
  1. response
data*array<>
Example Request
curl -X GET 'https://inetgeek.com/api/v1/startup-credits'
Example Response
{  "data": [    {      "id": "string",      "name": "string",      "category": "string",      "path": "string",      "program": "string",      "source_url": "http://example.com",      "verified_at": "string"    }  ]}