Quickstart
From signup to your first record in a few minutes. Get a key, send one GET, read the JSON.
1. Get a key
Sign up with an email address. The account starts with 25 free credits and no card, and free keys return up to 5 items per list call. Create a key on the API keys page; the secret starts with ik_live_ and is shown once.
2. Make a call
The profile endpoint is the cheapest way to see the shape of a response:
curl "https://api.instadata.dev/v1/instagram/channel-stats?handle=nasa" \
-H "Authorization: Bearer ik_live_..."
From Node:
const url = new URL("https://api.instadata.dev/v1/instagram/channel-stats");
url.searchParams.set("handle", "nasa");
const resp = await fetch(url, { headers: { Authorization: "Bearer ik_live_..." } });
const { data, request_id } = await resp.json();
console.log(data.followers, request_id);
From Python:
import httpx
resp = httpx.get(
"https://api.instadata.dev/v1/instagram/channel-stats",
params={"handle": "nasa"},
headers={"Authorization": "Bearer ik_live_..."},
timeout=120,
)
resp.raise_for_status()
print(resp.json()["data"])
3. Read the response
Every endpoint answers with the same envelope:
{
"data": { "handle": "nasa", "name": "NASA", "followers": 0, "verified": true, "…": "…" },
"request_id": "req_01J…"
}
The X-Credits-Charged and X-Credits-Remaining headers say what the call cost and what is left. Keep request_id; quote it in a support email and the call can be traced.
4. Pick the next endpoint
Every endpoint is GET /v1/instagram/<name> with one required parameter: a url, a handle or a query. The sheet lists all of them with their price. Lists take limit and cursor; every call takes fresh, fields and format.
Building an agent instead? Add https://mcp.instadata.dev to Claude, ChatGPT or Cursor and skip the key entirely: MCP server.