The fields of the GTM API sheet
The sheet on datacircle.dev has one row for each endpoint on each plan of its provider. Each column below means the same on the sheet, in the CSV and in the JSON.
The bar above the sheet has three downloads:
- Download CSV: every row of the sheet, with the columns below.
- Download JSON: every row of the sheet as one array of objects, with the keys below.
- Download zip: the raw catalog we build the sheet from. One file for each data source, each provider and each plan of each endpoint.
A blank cell, or null in the JSON, means the provider's pages don't give that value. In the CSV, a semicolon separates a list's items.
The sheet, the CSV and the JSON
| On the sheet | CSV column | JSON key | Meaning |
|---|---|---|---|
| Source | Data source | source |
Where the data comes from: LinkedIn, Yelp, SIRENE. |
sourceKind |
The kind of source, like "social network" or "company directory". | ||
| Countries | Countries | countries |
The countries the data comes from, or "Worldwide" when it has no country limit. The sheet's Country filter keeps every Worldwide row. |
| API category | API | api |
What you ask of the source: one Company profile, a Company search, an Employee's posts. |
| Provider | Provider | provider |
Who sells the endpoint. |
| Access | Access | access |
How the provider gets the data. "official": the source's own API. "licensed": a third party with the owner's agreement. "scraped": a third party that reads the source's pages itself, or holds a copy of them. |
| Keep data | Keep data | keep |
How long the provider's terms let you keep its API's answers. "no limit" when they set none. "no API terms" when the provider has no API terms. |
| Use data | Use data | use |
What the provider's terms let you use its API's answers for, and what they ask in return, like a link back or a credit. "any" when they limit nothing and ask nothing. "no API terms" when the provider has no API terms. |
| Plan | Plan | plan |
The plan, as the provider names it on its pricing page. |
| Billing | Billing | billing |
How you pay: "free", "on-demand" (pay as you go), "one-time", "monthly", "yearly", or "contact" (a price only on request). |
| Pay | Pay | pay |
The plan's price in dollars, for a year on a yearly plan or for a pack. |
| You get | Units | units |
What the plan gives for its price, counted in unit. |
unit |
What the provider's prices count: "credit", "request", "result", or "usd" for a prepaid dollar balance. | ||
renews |
When units come back: "day", "month", "year", or "never". |
||
from |
A usage tier: the monthly unit count where the tier's price starts. The sheet and the CSV say "from the 5,001st credit a month". | ||
graduated |
With from: true when the tier's price covers the units from from on, false when it covers every unit of the month. |
||
| Enough for | Enough for | calls |
How many of per the plan's units pay for on this endpoint: "100 calls, once" for a free trial, "1,250 results a month" for an allowance. |
monthlyCap |
For a call that costs 0 units: the most of per the plan gives a month, or "no limit". |
||
| $ per 1,000 | $ per 1,000 | perThousand |
Dollars for 1,000 of per on this plan. |
| Not found | Not found $ per 1,000 | notFoundPerThousand |
Dollars for 1,000 calls that find nothing. 0 when they're free. |
startPerCall |
Dollars each call costs once, on top of its price per per, like an Apify Actor's start. |
||
| Per | Per | per |
What the price counts: a "call", each "result", or each "page" of results. |
resultsPerPage |
With per "page": the most results a page holds. The sheet and the CSV say "page of 50". |
||
| Most per search | Most per search | resultsCap |
On a search: the most results you can get from one search on this plan, however you page it, or "no limit". |
| Extra fields | Extra fields | extras |
Fields that cost more. Each has its fields, its perThousand on top of the row's, and its own monthlyCap when it costs 0 units. |
| Per day | Per day | perDay |
The most calls a day. |
| Per second | Per second | perSecond |
The most calls a second. When the provider counts it over a longer window, we divide its shortest one: a limit per minute by 60, per 5 minutes by 300, per 15 minutes by 900. |
| Concurrent | Concurrent | concurrent |
The most calls running at once, or "no limit". Blank (null) when the provider's pages don't say. |
| Median | Median | latencyMs |
The median time to an answer: milliseconds in the JSON, seconds on the sheet and in the CSV. |
| Fields | Fields | fields |
What the answer holds at the row's price. On the sheet, a count of its API's fields, or a ✓ under each field on the API's own tab. |
| You send | You send | send |
What you give the call: a profile URL, a keyword and a location. |
| Method | Method | method |
The call's HTTP method. |
| Path | Path | path |
The call's path, as in the provider's docs. |
| Docs | docs |
The provider's page for the call. | |
| Read from | readFrom |
The pages we read the row's values from. | |
| Checked | checked |
The day we last read every value on those pages. |
The zip: the catalog's files
The zip holds a folder, gtm_apis, with this page as its README and three kinds of file. Names in the paths are in lower case, with an underscore for a space.
sources/<data_source>.json: one file for each data source.catalog/<provider>/provider.json: one file for each provider.catalog/<provider>/<data_source>/<api>/<plan>.json: one file for each plan of each endpoint. We name a plan's file by how you pay and how much, likemonthly_49.jsonorfree.json. Each is one row of the sheet.
The sheet's prices come from these files. A row's perThousand is the plan's unit price, unit_price or pay divided by units, times its cost.units, times 1,000.
sources/<data_source>.json
| Key | Meaning |
|---|---|
data_source |
The source's name. |
website |
Its website. |
kind |
The source's type. |
countries |
The countries its data comes from, or "Worldwide" alone. |
apis |
The name of each API it offers. Each has its fields, every field an answer can hold, and its own countries when they're fewer than the source's. |
catalog/<provider>/provider.json
| Key | Meaning |
|---|---|
provider |
The provider's name. |
website |
Its website. |
pricing_page |
Its pricing page. |
unit |
Its price unit: "credit", "request", "result", or "usd" for a prepaid dollar balance. |
keep |
The longest its terms let you keep its API responses. |
use |
What its terms let you use its API responses for, and what they ask in return. |
access |
Its access to each data source it has endpoints on: "official", "licensed" or "scraped". |
source |
The pages we read its values from. |
found |
The time we first added it, in UTC. |
checked |
The day we last read every value on those pages. |
mock |
Always false in the zip: we leave out any file with a value we did not read on the provider's pages. |
catalog/<provider>/<data_source>/<api>/<plan>.json
| Key | Meaning |
|---|---|
data_source, api, provider |
The endpoint: its source, its API and who sells it. |
plan |
The plan's name on the pricing page. |
billing |
How you pay for it, as on the sheet. |
pay |
The dollars you pay for it. |
from |
A usage tier: the unit of each renews where its unit_price starts. |
graduated |
With from: true when its unit_price covers the units from from on. |
units |
Units you get for pay: a pack, a month's allowance, a free plan's credits. |
unit_price |
Dollars for one unit, if the pricing page has one. |
overage_unit_price |
Dollars for one unit past units on a subscription. |
renews |
When units come back: "day", "month", "year", or "never". |
expires |
When unused units lapse, as on the pricing page. |
per_second, per_minute, per_5_minutes, per_15_minutes, per_hour, per_day, per_week, per_month |
The endpoint's rate limits on this plan, each over the window its provider counts it in (Companies House: 600 per 5 minutes). |
concurrent |
The most calls running at once on this plan, "no limit" when the provider says there's none, or null when its pages don't say. Every plan has it. |
monthly_cap |
For a call that costs 0 units: the most of its per the plan gives a month, or "no limit". |
results_cap |
On a search: the most results you can get from one search on this plan, however you page it, or "no limit". |
method, path, base_url |
The call, as in the provider's docs. |
docs |
The provider's page for the call. |
send |
The parameters you send the call. |
fields |
The fields the call returns at its base cost, by the names in its source's apis. |
cost |
One call's cost on this plan, in the provider's unit: the table below. |
latency_ms |
The median time to an answer, in milliseconds. |
source, found, checked, mock |
As in provider.json. |
cost
| Key | Meaning |
|---|---|
units |
Units one per costs on this plan. |
per |
One cost covers a "call", each "result", or each "page". |
results_per_page |
With per "page": the most results a page holds. |
start |
Units each call costs once, on top of units for each per. |
not_found |
Units a call costs when it finds no results. |
extras |
Fields that cost more: the table below. |
cost.extras
| Key | Meaning |
|---|---|
fields |
The fields, by the names in the source's apis. |
units |
Units these fields cost on top of cost.units, for each per. |
monthly_cap |
If these fields cost 0 units on a call that costs 0: the most of per with them the plan gives a month. |