Instagram Followers API for Public Profile Data

Get Instagram Followers and Following via API

HikerAPI returns the follower and following lists of any public Instagram account, one page per request. Send a numeric user ID, read the page, then pass the returned cursor to get the next one.

Endpoints

Endpoint Returns Next page
GET /v1/user/followers/chunk Followers, fixed short schema Pass the cursor as max_id
GET /v1/user/following/chunk Following, fixed short schema Pass the cursor as max_id

Instagram decides the page size. A page usually holds about 25 users. Each page costs one request.

Older endpoints. /v2/user/followers has returned 410 Gone since September 2026 and is not billed. /v2/user/following, /gql/user/followers/chunk and /gql/user/following/chunk still work, but we recommend the endpoints above. A /gql/.../chunk call can be billed as 2 requests.

Quick Start

import requests

BASE = "https://api.hikerapi.com"
HEADERS = {"x-access-key": "your_api_key"}

# Step 1: get the numeric user ID
user = requests.get(
    f"{BASE}/v1/user/by/username",
    params={"username": "instagram"},
    headers=HEADERS,
).json()
user_id = user["pk"]

# Step 2: get the first page of followers.
# The response is a two-item array: [users, cursor]
users, max_id = requests.get(
    f"{BASE}/v1/user/followers/chunk",
    params={"user_id": user_id},
    headers=HEADERS,
).json()

for f in users:
    print(f.get("username"), "-", f.get("full_name", ""))

Pagination

Keep requesting pages until the cursor is null. A small share of requests fail with a 5xx error, so a long run needs retries:

import time

def get_page(path, params, retries=3):
    for attempt in range(retries):
        resp = requests.get(f"{BASE}{path}", params=params, headers=HEADERS, timeout=60)
        if resp.status_code < 500:
            break
        time.sleep(2 ** attempt)
    resp.raise_for_status()
    return resp.json()

def get_all(user_id, kind="followers"):  # kind: "followers" or "following"
    users, max_id = {}, None
    while True:
        params = {"user_id": user_id}
        if max_id:
            params["max_id"] = max_id
        page, max_id = get_page(f"/v1/user/{kind}/chunk", params)
        for u in page:
            users[u["pk"]] = u  # a user can appear on two pages; keep one copy
        if not max_id:
            return list(users.values())

followers = get_all(user_id)
following = get_all(user_id, "following")
print(len(followers), len(following))

Fields in Each List Item

Each user in a page has pk, id, username, full_name, profile_pic_url, is_private, is_verified and account_badges. Only pk is always present: fields with a null value are left out of the response.

List items do not include follower counts, bio, category or contact details. To get them, request the profile with GET /v1/user/by/id?id=<user_id>. It returns follower_count, following_count, media_count, biography, is_business, category, public_email and contact_phone_number. Contacts are filled only when the account shows them publicly. Each profile costs one more request.

Limits

  • Public accounts only. Lists of private accounts are not available.
  • Verified accounts (blue badge). Instagram shows only the first page of followers, up to about 50 users, and returns no cursor for the next page. No endpoint can collect the full follower list of a verified account. Their following lists paginate normally.

Pricing

Each page costs one request: $1.00 per 1,000 requests on the Standard plan, $0.60 per 1,000 on Ultra.

Example: 10,000 followers at about 25 per page is about 400 requests, or $0.40 on Standard and $0.24 on Ultra. Fetching /v1/user/by/id for each of those followers adds 10,000 requests: $10 on Standard, $6 on Ultra.

FAQ

Can I get followers of private accounts?
No. Only public accounts are available.

Can I get all followers of a verified account?
No. For verified accounts Instagram returns only the first page of followers, up to about 50 users, on every endpoint.

What happened to /v2/user/followers?
It has been retired. Since September 2026 it returns 410 Gone and is not billed. Use /v1/user/followers/chunk.

Getting Started

  1. Register — 100 free requests
  2. Try it: GET /v1/user/followers/chunk

Related articles

Ready to get started?

100 free API requests. No credit card required.

Sign Up Free