Exact numbers
The app rounds big numbers ("97M followers"). The checker shows the exact count, e.g. 97,214,308, plus following and posts, so you can compare profiles or log growth over time.
Enter an Instagram username or profile URL to see its followers, following, posts, bio and verified badge, and the API call that returns the same data.
nasa or @nasa, or its address (instagram.com/nasa).The app rounds big numbers ("97M followers"). The checker shows the exact count, e.g. 97,214,308, plus following and posts, so you can compare profiles or log growth over time.
Instagram serves slightly different totals from different servers and refreshes them at different times, and removes inactive or fake accounts in batches. A difference of a few hundred on a large profile is normal.
The checker reads what a public profile shows anyone who opens it. Private accounts only show their counts; posts, email and phone are never shown.
Meta's Instagram Graph API gives you follower counts for your own professional (business or creator) account, and Business Discovery for other business accounts, once your app has passed App Review and you have a Facebook Page linked to the account. For a quick check of any public profile, or for profiles that aren't business accounts, the SocialAPIs API returns the public numbers with one API key.
Every check is one call to the SocialAPIs REST API. Use the same call to check profiles in bulk, track followers every day, or feed a dashboard, from any language or from n8n, Make and Zapier.
GET /instagram/profile/details with username · 1 credit per call · your key goes in the x-api-token header, never in the URL.
curl -G "https://api.socialapis.io/instagram/profile/details" \
--max-time 100 \
--fail-with-body \
-H "x-api-token: $SOCIALAPIS_API_KEY" \
--data-urlencode "username=nasa"import os
import requests
response = requests.get(
"https://api.socialapis.io/instagram/profile/details",
headers={"x-api-token": os.environ["SOCIALAPIS_API_KEY"]},
params={
"username": "nasa",
},
timeout=100,
)
response.raise_for_status()
print(response.json())// Node 18+, as an ES module (e.g. main.mjs)
async function get(url, params) {
const query = new URLSearchParams(params).toString();
const response = await fetch(query ? `${url}?${query}` : url, {
headers: { "x-api-token": process.env.SOCIALAPIS_API_KEY },
signal: AbortSignal.timeout(100000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
return response.json();
}
const data = await get("https://api.socialapis.io/instagram/profile/details", {
username: "nasa",
});
console.log(data);import java.net.URI;
import java.net.URLEncoder;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.time.Duration;
import java.util.Map;
import java.util.stream.Collectors;
public class Main {
private static final HttpClient CLIENT = HttpClient.newBuilder()
.connectTimeout(Duration.ofSeconds(10))
.build();
public static void main(String[] args) throws Exception {
String body = get("https://api.socialapis.io/instagram/profile/details", Map.of(
"username", "nasa"));
System.out.println(body);
}
static String get(String url, Map<String, String> params) throws Exception {
String query = params.entrySet().stream()
.map(e -> URLEncoder.encode(e.getKey(), StandardCharsets.UTF_8) + "="
+ URLEncoder.encode(e.getValue(), StandardCharsets.UTF_8))
.collect(Collectors.joining("&"));
HttpRequest request = HttpRequest.newBuilder(URI.create(query.isEmpty() ? url : url + "?" + query))
.header("x-api-token", System.getenv("SOCIALAPIS_API_KEY"))
.timeout(Duration.ofSeconds(100))
.GET()
.build();
HttpResponse<String> response = CLIENT.send(request, HttpResponse.BodyHandlers.ofString());
if (response.statusCode() / 100 != 2) {
throw new RuntimeException("HTTP " + response.statusCode() + ": " + response.body());
}
return response.body();
}
}package main
import (
"fmt"
"io"
"log"
"net/http"
"net/url"
"os"
"time"
)
func main() {
body, err := get("https://api.socialapis.io/instagram/profile/details", url.Values{
"username": {"nasa"},
})
if err != nil {
log.Fatal(err)
}
fmt.Println(string(body))
}
func get(endpoint string, params url.Values) ([]byte, error) {
if len(params) > 0 {
endpoint += "?" + params.Encode()
}
req, err := http.NewRequest(http.MethodGet, endpoint, nil)
if err != nil {
return nil, err
}
req.Header.Set("x-api-token", os.Getenv("SOCIALAPIS_API_KEY"))
client := &http.Client{Timeout: 100 * time.Second}
resp, err := client.Do(req)
if err != nil {
return nil, err
}
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
if err != nil {
return nil, err
}
if resp.StatusCode/100 != 2 {
return nil, fmt.Errorf("HTTP %d: %s", resp.StatusCode, body)
}
return body, nil
}# pip install socialapis-sdk
import os
from socialapis import Instagram
client = Instagram(api_token=os.environ["SOCIALAPIS_API_KEY"])
response = client.get_profile_details("nasa")
print(response)// npm install socialapis-sdk
import { Instagram } from "socialapis-sdk";
const client = new Instagram({ apiToken: process.env.SOCIALAPIS_API_KEY });
const response = await client.getProfileDetails("nasa");
console.log(response);Set SOCIALAPIS_API_KEY to your key first (export SOCIALAPIS_API_KEY=…). The answer's data has followers_count, following_count, media_count, the bio and the verified flag.
Enter the username (for example nasa) or the profile address (instagram.com/nasa) into the checker above. It shows the profile name, the exact follower count, how many accounts it follows, the number of posts, a bio snippet, whether it's verified and the profile picture, the same public numbers the profile itself displays.
Yes, for your own account: Meta's Instagram Graph API returns follower counts for a professional (business or creator) account linked to a Facebook Page, after your app passes App Review. Business Discovery extends that to other business accounts by username. It doesn't cover personal accounts, and setting it up takes an app, a token and a review. This checker reads the public numbers of any public profile in one step.
Instagram rounds large numbers in the app ("97M") and serves totals from several servers that refresh at different times; it also removes inactive and fake accounts in batches. The checker shows the exact figure at the moment of the check, so a small difference from the app is normal.
A private account still shows its follower, following and post counts publicly, so the checker returns those and marks the account as private. Posts, stories and anything behind the privacy setting are never shown. Email addresses and phone numbers are never shown for any account.
Without an account you get a few free checks a day to try it. Signed in, each check is one API call on your own account: 1 credit, with no daily limit beyond your plan. The free plan includes 200 calls a month, no credit card; paid plans start at $4.99 a month.
Use the API: call GET /instagram/profile/details with username for each profile, from a script, a spreadsheet or a no-code tool like n8n, Make or Zapier, and store the follower count every day to chart growth. The code below is the exact call this checker makes.
The same API covers public Facebook Pages: GET /facebook/pages/details returns followers, likes, category and the verified badge, and there's a free Facebook follower count checker on this site. SocialAPIs covers Facebook and Instagram.
Free plan: 200 calls a month, no credit card. Paid plans from $4.99 a month. Facebook and Instagram data, one x-api-token header.
Facebook follower count · Facebook Page ID finder · Facebook ad checker