InstagramAPI
The ultimate Instagram Data API scraping real-time data off Instagram using iOS & Web APIs
1const response = await fetch('https://api.getapis.io/instagram/instagramapi/about/{account}', {2 method: 'GET',3 headers: {4 'apikey': '{your-api-key}'5 },6});7 8const data = await response.json();9console.log(data);🧑💻Instagram & Threads API Manager
v1.0.0Caption Validator 🗣️
Check Offensive Caption Risk using internal Meta Scoring system
Request Bodyrequired
captionstringrequiredRequest
curl -X POST 'https://api.example.com/offensive-caption-checker' \
-H 'apikey: {your-api-key}' \
-H 'Content-Type: application/json' \
-d '{
"caption": "🌶️Link in the bio😈🤫⛓️💦"
}'Response
Successful Response
{
"success": true,
"details": "string",
"caption_result": null
}User Finder 🎯
Search for Instagram Accounts or targets by 'name' equivalent to running a 'user search' on Instagram. This is a great way to find target users instead of needing to scrape Followers/Following and filter by name or gender, instead you search directly for male, western names. For popular names, you can also run multiple searches for examples: John, John1, John2, John3, John_ John_a, Johna, Johnb, John.b For more accurate results you can provide first and last names.
Query Parameters
perform_web_conditionstringrequiredControls web information lookup: 'NONE' (disabled), 'T1' (tier one countries only), or 'ALL' (all users)
Request Bodyrequired
nameanyA single name to search for.
Request
curl -X POST 'https://api.example.com/user-finder?perform_web_condition=ALL' \
-H 'apikey: {your-api-key}'Response
Successful Response
nullDetails Web 👤
Scrape Account Details (Followers, Following, Bio, Profile Photo, Posts)
Path Parameters
accountstringrequiredQuery Parameters
web_only_searchstringOnly lookup accounts using the Web API. This will always avoid using the private API and Account sessions.
analyse_genderstringEnable gender inference based on name and username analysis, using 500M name dataset from Facebook Leak and the Genderize.io API
user_idstringALWAYS send this if you have it available. Usernames can change and before returning user not found it will lookup via the User ID instead. You must handle username validation on your side
show_highlightsstringLookup account highlights in the response. This will make a subsequent web request but increase latency
lookup_similarstringignore_restricted_checkstringIgnore restricted account checks
enrich_location_lookupsstringDo full location lookups for tagged locations
Request
curl -X GET 'https://api.example.com/account-details/{account}/web' \
-H 'apikey: {your-api-key}'Response
Successful Response
nullAbout 👱🏻♂️
Fetch core account about section based on internal user ID ### Example Response ```json "success": true, "found": true, "about_info": { "country": "United States", "joined_at": "2017-01-15", "former_usernames": 2, "accounts_with_shared_followers": 15, "is_verified": true, "verified_at": "2021-05-20" } ```
Path Parameters
accountstringrequiredRequest
curl -X GET 'https://api.example.com/about/{account}' \
-H 'apikey: {your-api-key}'Response
Successful Response
{
"success": true,
"found": true,
"about_info": {
"country": "string",
"joined_at": "string",
"former_usernames": 0,
"accounts_with_shared_followers": 0,
"is_verified": true,
"verified_at": null
}
}Avg Views 📈 (Web)
Fetch Account average Reels views specifying an amount of days back to check. Default 150 days ### Example Request ```json { "days_back_to_check": 10 // This is optional | Default 150 Days } ``` ### Example Response ```json "success": true, "reels_info": { "total_views": 826956, "average_views": 165391, "reels_posted": 5, "reels": [...] // All reels post details } ... ```
Path Parameters
user_idintegerrequiredusernamestringrequireddays_back_to_checkintegerrequiredRequest
curl -X GET 'https://api.example.com/account-average-views-web/{user_id}/{username}/{days_back_to_check}' \
-H 'apikey: {your-api-key}'Response
Successful Response
{}Following 🧑🤝🧑
Path Parameters
user_idintegerrequiredstarting_offsetintegerrequiredamount_to_checkintegerrequiredQuery Parameters
account_usernamestringUsername of the account to fetch followers for. Will be used to check if the account exists and to fetch the followers.
analyse_genderstringEnable gender inference based on name and username analysis, using 500m name dataset from FB Leak and the Genderize.io API.
ignore_verifiedstringExclude verified accounts from gender inference analysis.
ignore_anon_profilesstringExclude accounts with anonymous profile pictures from gender inference analysis.
account_lookupstringPerform an account lookup on accounts matching specified gender criteria, frequency threshold, and Western name likelihood. Requires 'analyse_gender' to be enabled. Format: Gender-CountFrequency-WesternNameLikelihood (e.g., MALE-1000-0.008).
analyse_profile_picturestringEnable analysis of profile pictures. Requires 'account_lookup' to be configured.
Request
curl -X GET 'https://api.example.com/account-following/{user_id}/{starting_offset}/{amount_to_check}' \
-H 'apikey: {your-api-key}'Response
Successful Response
{}Followers 👫
fetch accounts from a given accounts followers by supplying: - **amount_to_fetch**: The number of accounts to retrieve. - **starting_offset**: The offset from which to start fetching accounts. ### Example If you supply a **starting_offset** of `50` and an **amount_to_fetch** of `100`, you will get the accounts from the followers from index `50` to `150`. ### Important Notes - The follower order is typically sorted by the most recent followers first. - When the account has fewer followers accounts than the specified amount at the given offset, the response will return only the remaining accounts instead of the full requested amount. ### Example Response ```json { "58765547664": { "amount_checked": 100, "starting_offset": 75, "following": [ { "user_id": "57615649486", "username": "letsgetquinntimate", "full_name": "Quinn Finite", "is_private": false, "is_verified": false, "has_anonymous_profile_picture": false, "latest_reels_media": 0, "name_dataset_gender": "Male", "name_dataset_country_probabilities": { "Canada": 0.121, "China": 0.009, "United Kingdom": 0.043, "Hong Kong": 0.009, "Malaysia": 0.028, "Nigeria": 0.024, "Netherlands": 0.059, "Singapore": 0.013, "United States": 0.666, "South Africa": 0.031 }, "genderize_response": { "count": 4433, "name": "Quinn", "gender": "male", "probability": 0.71 }, "extracted_name": "Quinn", "user_info": { "username": "letsgetquinntimate", "user_id": "57615649486", "name": "Quinn Finite", "private": false, "verified_account": false, "business_account": false, "new_account": false, "following": 233, "followers": 721827, "total_reels": 0, "total_account_posts": 289, "profile_picture": "https://instagram.fpoa43-1.fna.fbcdn.net/v/t51.2885-19/322915583_159749306801619_3985696663504332933_n.jpg?stp=dst-jpg_s150x150_tt6&_nc_ht=instagram.fpoa43-1.fna.fbcdn.net&_nc_cat=1&_nc_oc=Q6cZ2QHHBzkeQpg9MpNXfUzOZ7pJNuS53n0fjn1gzZDSWNL-BG3r3LKqqGnRvc-Z4d9thcs&_nc_ohc=utkduw-ttXEQ7kNvwGHviIH&_nc_gid=mxNjAoQYlz8fl3C7z16l9w&edm=AOQ1c0wBAAAA&ccb=7-5&oh=00_AfGlnlYqNh3Sm5QlERFf9csZKnmowmATFznpundl0JGHbg&oe=680358A7&_nc_sid=8b3546", "bio": "Live Laugh Love", "bio_links": [ "http://allmylinks.com/quinnfinite" ], "bio_entities": [], "picture_analysis": { "results": [ { "age": 28, "dominant_gender": "Woman", "dominant_race": "white", "face_confidence": 0.93, "gender": { "Man": 1.2215489521622658, "Woman": 98.77845048904419 }, "race": { "asian": 0.00018018168867309865, "black": 3.713145568071657e-07, "indian": 2.59336290578961e-05, "latino hispanic": 0.3019421541358324, "middle eastern": 0.058828431661259034, "white": 99.63902232879533 }, "region": { "h": 91, "left_eye": null, "right_eye": null, "w": 91, "x": 19, "y": 0 } } ] } } },... ] } } ```
Path Parameters
user_idintegerrequiredstarting_offsetintegerrequiredamount_to_checkintegerrequiredQuery Parameters
account_usernamestringUsername of the account to fetch followers for. Will be used to check if the account exists and to fetch the followers.
analyse_genderstringEnable gender inference based on name and username analysis, using 500m name dataset from FB Leak and the Genderize.io API.
ignore_verifiedstringExclude verified accounts from gender inference analysis.
ignore_anon_profilesstringExclude accounts with anonymous profile pictures from gender inference analysis.
account_lookupstringPerform an account lookup on accounts matching specified gender criteria, frequency threshold, and Western name likelihood. Requires 'analyse_gender' to be enabled. Format: Gender-CountFrequency-WesternNameLikelihood (e.g., MALE-1000-0.008).
analyse_profile_picturestringEnable analysis of profile pictures. Requires 'account_lookup' to be configured.
Request
curl -X GET 'https://api.example.com/account-followers/{user_id}/{starting_offset}/{amount_to_check}' \
-H 'apikey: {your-api-key}'Response
Successful Response
{
"amount_checked": 0,
"starting_offset": 0,
"following": [
{
"user_id": "string",
"username": "string",
"full_name": "string",
"is_private": true,
"is_verified": true,
"has_anonymous_profile_picture": true,
"latest_reels_media": null
}
]
}Location Lookup 📍
Fetch locations for a given locaiton_id
Path Parameters
location_idintegerrequiredQuery Parameters
enrich_locationbooleanRequest
curl -X GET 'https://api.example.com/location/{location_id}' \
-H 'apikey: {your-api-key}'Response
Successful Response
{
"amount_checked": 0,
"starting_offset": 0,
"following": [
{
"user_id": "string",
"username": "string",
"full_name": "string",
"is_private": true,
"is_verified": true,
"has_anonymous_profile_picture": true,
"latest_reels_media": null
}
]
}Locations 📍
Fetch locations for a given Area or Region. Can be used alongside stories, profile, & Reels posts
Request Bodyrequired
location_searchstringrequiredRequest
curl -X POST 'https://api.example.com/locations' \
-H 'apikey: {your-api-key}' \
-H 'Content-Type: application/json' \
-d '{
"location_search": "Arndale Manchester"
}'Response
Successful Response
{
"amount_checked": 0,
"starting_offset": 0,
"following": [
{
"user_id": "string",
"username": "string",
"full_name": "string",
"is_private": true,
"is_verified": true,
"has_anonymous_profile_picture": true,
"latest_reels_media": null
}
]
}Hightlights 🎞️
Fetch Account Story Highlights
Path Parameters
user_idintegerrequiredRequest
curl -X GET 'https://api.example.com/{user_id}/highlights' \
-H 'apikey: {your-api-key}'Response
Successful Response
{
"amount_checked": 0,
"starting_offset": 0,
"following": [
{
"user_id": "string",
"username": "string",
"full_name": "string",
"is_private": true,
"is_verified": true,
"has_anonymous_profile_picture": true,
"latest_reels_media": null
}
]
}Users 🔎
Lookup users from search. Can be used for Mentions, user-targeting, etc
Request Bodyrequired
namestringrequiredRequest
curl -X POST 'https://api.example.com/user-search' \
-H 'apikey: {your-api-key}' \
-H 'Content-Type: application/json' \
-d '{
"name": "Jessica Harper"
}'Response
Successful Response
{
"amount_checked": 0,
"starting_offset": 0,
"following": [
{
"user_id": "string",
"username": "string",
"full_name": "string",
"is_private": true,
"is_verified": true,
"has_anonymous_profile_picture": true,
"latest_reels_media": null
}
]
}