Instagram Scraper API guides

Vet an Instagram Influencer Before You Pay: Age, Country, Engagement & Lookalikes

Combine 'About this account' (join date, country, former usernames), recent posts, and Instagram's own similar-accounts list into a quick authenticity and fit check for any creator.

Follower counts are easy to fake; account history and engagement aren't. This recipe pulls the signals a brand should check before signing a creator - using Instagram's own data, not third-party estimates.

Try it free in your browser, no key needed →
Paste a URL, see the result as a table and export it. Come back here for the code when you want it automated.

Get your API key on RapidAPI

1. Check the account's history

/v1/profile/about returns what Instagram's About this account panel shows: the month the account joined, the country it's based in, and any former usernames. A two-month-old account with 500K followers, or one based far from your target market, is worth a second look.

2. Measure real engagement

Pull the last 30 posts with /v1/profile/posts and divide likes plus comments by follower count. Compare the median with the creator's peers from /v1/profile/similar - Instagram's own list of lookalike accounts.

3. Read the comments

/v1/post/comments returns the comment thread with replies. Walls of generic emoji-only comments from brand-new accounts are a classic engagement-pod signal.

Full example (Python)

# Get an API key: https://rapidapi.com/goodstobkal-goodstobkal-default/api/instagram-scraper57
HOST = "YOUR-API-HOST.p.rapidapi.com"
HEADERS = {"x-rapidapi-key": "YOUR_RAPIDAPI_KEY", "x-rapidapi-host": HOST}
BASE = f"https://{HOST}"

import statistics
import requests

def get(path, **params):
    r = requests.get(f"{BASE}{path}", params=params, headers=HEADERS, timeout=330)
    r.raise_for_status()
    return r.json()

handle = "adenwang"
about = get("/v1/profile/about", channel_url=handle)
posts = get("/v1/profile/posts", channel_url=handle, count=30)["posts"]
similar = get("/v1/profile/similar", channel_url=handle, count=20)["profiles"]

followers = about["follower_count"] or 1
rates = [((p["like_count"] or 0) + (p["comment_count"] or 0)) / followers for p in posts]

print("joined:", about["date_joined"], "| based in:", about["account_country"])
print("former usernames:", about["former_usernames"] or "none")
print(f"median engagement: {statistics.median(rates):.2%}")
print("lookalikes to benchmark:", [s["username"] for s in similar[:10]])

Replace YOUR-API-HOST and YOUR_RAPIDAPI_KEY with the values from the listing's Endpoints tab on RapidAPI.

Frequently asked questions

How can I see which country an Instagram account is based in?

/v1/profile/about returns the country from Instagram's About this account panel as account_country, along with the join date and any former usernames.

What is a good engagement rate on Instagram?

It depends on account size and niche - smaller accounts usually see higher rates. Benchmark a creator against their own lookalikes from /v1/profile/similar rather than a universal number.

How do I spot fake followers or engagement pods?

Warning signs are a very young account with a large following, engagement well below similar accounts, and comment sections full of generic emoji replies from new accounts. The calls in this guide surface each of those signals.

More guides