{"openapi":"3.1.0","info":{"title":"Instagram API","description":"Public Instagram data (profiles, posts, reels, stories, hashtags, locations) through one clean, fast, well-documented API. Pay per request, no approvals.","version":"1.0.0","contact":{"email":"support@email.instagramapi.dev"}},"servers":[{"url":"https://api.instagramapi.dev","description":"Production"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Profiles"},{"name":"Insights"},{"name":"Posts"},{"name":"Hashtags"},{"name":"Locations"},{"name":"Search"},{"name":"Account"}],"paths":{"/v1/profile":{"get":{"operationId":"getProfile","summary":"Full public profile for an account.","description":"Returns the public profile: bio, full name, follower/following counts, post count, profile picture, verified/business flags, and external links.\n\nCost: 1 credit.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"id":"13460080","username":"nike","full_name":"Nike","biography":"Just Do It.","is_verified":true,"is_private":false,"is_business":true,"category":null,"followers":291952375,"following":264,"posts":1657,"external_url":"http://empli.fi/nike","profile_pic_url":"https://instagram.com/.../nike.jpg","public_email":null,"public_phone_number":null},"meta":{"endpoint":"profile","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/about":{"get":{"operationId":"getProfileAbout","summary":"Account creation date, country of registration, and past usernames.","description":"Exposes Instagram's \"About this account\" transparency panel together with the full public profile in one call: the month and year the account was created (plus its age in years), the country the account was registered in (which can differ from where the person currently lives), whether it has ever changed its username — with the former usernames listed — and its verified badge. Instagram only reveals creation dates at month granularity, so no exact day is available. Works on private accounts too. Built for fraud & trust checks, influencer vetting, and account-marketplace due diligence. Cost: 2 credits, flat, regardless of account size.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"natgeo","account_created":"November 2010","account_created_year":2010,"account_created_month":11,"account_age_years":15.7,"country_of_registration":"United States","has_changed_username":false,"former_usernames":[],"is_verified":true,"profile":{"id":"787132","full_name":"National Geographic","biography":"Inspiring the explorer in everyone 🌎","is_private":false,"is_business":true,"category":"Publisher","followers":279441024,"following":135,"posts":30542,"external_url":"https://on.natgeo.com/instagram","profile_pic_url":"https://instagram.com/.../natgeo.jpg"}},"meta":{"endpoint":"profile/about","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/about"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/about"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/about","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/about"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/engagement":{"get":{"operationId":"getInsightsProfileEngagement","summary":"Engagement rate computed from recent posts.","description":"Computes an engagement rate for an account from its most recent posts: average likes + comments per post, divided by follower count. Analyzes the last 12 posts by default; pass `posts` (up to 50) to widen the window. Returns the rate as both a ratio and a percentage, plus the averages it was derived from. Cost is dynamic: 1 credit for the profile lookup plus 1 per ~12 posts fetched (so 12 posts = 2 credits, 50 posts = 6).\n\nCost: 2–6 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"posts","in":"query","required":false,"description":"How many recent posts to analyze (1–50). Defaults to 12.","schema":{"type":"integer"},"example":"12"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","followers":291952375,"posts_analyzed":12,"avg_likes":412874,"avg_comments":5231,"avg_engagement":418105,"engagement_rate":0.00143,"engagement_rate_pct":0.14},"meta":{"endpoint":"insights/profile/engagement","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/engagement"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/engagement"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/engagement","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/engagement"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/best-time":{"get":{"operationId":"getInsightsProfileBestTime","summary":"Best hours & days to post, from recent engagement.","description":"Analyzes when an account's recent posts earned the most engagement and returns the best hours and weekdays to post. Pass `posts` (1–50, default 30) to set the analysis window and `timezone` (UTC offset hours, e.g. `-5` for US East) to localize results. Cost: 4–6 credits depending on the analysis window.\n\nCost: 4–6 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"posts","in":"query","required":false,"description":"Recent posts to analyze (1–50). Defaults to 30.","schema":{"type":"integer"},"example":"30"},{"name":"timezone","in":"query","required":false,"description":"UTC offset in hours to localize the hour/day buckets (e.g. -5). Defaults to 0 (UTC).","schema":{"type":"integer"},"example":"-5"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","posts_analyzed":30,"timezone_offset":-5,"best_hours":[{"hour":18,"posts":6,"avg_engagement":521340}],"best_days":[{"day":"Thursday","posts":5,"avg_engagement":498120}],"recommendation":"Thursday around 18:00 (UTC-5)","by_hour":[{"hour":18,"posts":6,"avg_engagement":521340}],"by_day":[{"day":"Thursday","posts":5,"avg_engagement":498120}]},"meta":{"endpoint":"insights/profile/best-time","request_id":"req_3f8a1c9e","credits_charged":4,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/best-time"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/best-time"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/best-time","credits_charged":4,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/best-time"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/stats":{"get":{"operationId":"getInsightsProfileStats","summary":"Posting cadence and content-format breakdown.","description":"Derives an account's posting cadence (average gap between posts, posts/week) and content-format mix (photo / video / carousel share and average engagement per format, so you can see which format performs best). Pass `posts` (1–50, default 30) for the window. Cost: 4–6 credits depending on the window.\n\nCost: 4–6 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"posts","in":"query","required":false,"description":"Recent posts to analyze (1–50). Defaults to 30.","schema":{"type":"integer"},"example":"30"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","followers":291952375,"posts_analyzed":30,"avg_days_between_posts":2.3,"posts_per_week":3,"format_mix":[{"type":"carousel","posts":14,"share_pct":46.7,"avg_engagement":512300},{"type":"video","posts":11,"share_pct":36.7,"avg_engagement":631200},{"type":"photo","posts":5,"share_pct":16.7,"avg_engagement":402100}],"best_format":"video"},"meta":{"endpoint":"insights/profile/stats","request_id":"req_3f8a1c9e","credits_charged":4,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/stats"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/stats"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/stats","credits_charged":4,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/stats"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/audit":{"get":{"operationId":"getInsightsProfileAudit","summary":"Estimate real vs. suspicious followers from a sample.","description":"Samples an account's followers and heuristically scores each for bot/throwaway signals (no profile picture, no display name, digit-heavy username, private + nameless), then estimates the real-follower percentage and assigns a quality grade. Includes a one-paragraph AI verdict for sponsorship decisions. Pass `sample` (1–500, default 100). Cost: 4–12 credits depending on the sample size.\n\nCost: 4–12 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"sample","in":"query","required":false,"description":"Followers to sample (1–500). Defaults to 100. More = more accurate, more credits.","schema":{"type":"integer"},"example":"100"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","followers_total":291952375,"sampled":100,"suspected_fake_pct":14,"estimated_real_pct":86,"estimated_real_followers":251079042,"quality_grade":"B","signal_breakdown":{"no profile picture":9,"digit-heavy username":7,"no display name":11},"summary":"A healthy audience: roughly 86% of sampled followers look authentic…"},"meta":{"endpoint":"insights/profile/audit","request_id":"req_3f8a1c9e","credits_charged":4,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/audit"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/audit"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/audit","credits_charged":4,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/audit"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/qualify":{"get":{"operationId":"getInsightsProfileQualify","summary":"AI score for how well an account fits your ideal lead.","description":"Scores how well an account matches your ideal-customer description. Pass `criteria` describing the lead you want (e.g. \"US-based fitness coaches with 10k–100k followers selling online programs\") and we score the profile + recent posts 0–100 with reasons and signals. Cost: 3–7 credits depending on how many posts are considered.\n\nCost: 3–7 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"criteria","in":"query","required":true,"description":"Plain-English description of your ideal lead.","schema":{"type":"string"},"example":"US fitness coaches selling online programs"},{"name":"posts","in":"query","required":false,"description":"Recent posts to consider (1–50). Defaults to 12.","schema":{"type":"integer"},"example":"12"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","criteria":"US fitness coaches selling online programs","fit_score":22,"verdict":"weak","reasons":["Global brand, not an individual coach","No online-program offer in bio"],"signals":{"positive":["Fitness niche"],"negative":["Not a coach","Enterprise account"]},"recommended_action":"Skip. Does not match the ICP."},"meta":{"endpoint":"insights/profile/qualify","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/qualify"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/qualify"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/qualify","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/qualify"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/summary":{"get":{"operationId":"getInsightsProfileSummary","summary":"AI sales/CRM brief for an account.","description":"Returns a concise AI sales-intelligence brief: a one-liner, who they are, niche, audience, tone, recent focus, and tags, ideal for CRM enrichment or pre-call research. Cost: 3–7 credits depending on how many posts are considered.\n\nCost: 3–7 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"posts","in":"query","required":false,"description":"Recent posts to consider (1–50). Defaults to 12.","schema":{"type":"integer"},"example":"12"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","one_liner":"The world's largest athletic brand, posting high-production sport storytelling.","who_they_are":"Global sportswear company…","niche":"Athletic apparel & sport culture","audience":"Broad global consumer, sport & streetwear fans","tone":"Bold, motivational, inclusive","recent_focus":"Athlete spotlights and product drops","tags":["sportswear","enterprise","brand"]},"meta":{"endpoint":"insights/profile/summary","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/summary"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/summary"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/summary","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/summary"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/niche":{"get":{"operationId":"getInsightsProfileNiche","summary":"AI niche, categories and brand voice.","description":"Classifies an account into a niche / sub-niche with categories, brand voice, target audience, and content pillars. Useful for tagging and segmentation at scale. Cost: 3–7 credits depending on how many posts are considered.\n\nCost: 3–7 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"posts","in":"query","required":false,"description":"Recent posts to consider (1–50). Defaults to 12.","schema":{"type":"integer"},"example":"12"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","niche":"Sportswear & athletics","sub_niche":"Performance footwear & apparel","categories":["sports","fashion","lifestyle"],"brand_voice":"Bold, motivational","target_audience":"Athletes and sport-culture consumers worldwide","content_pillars":["athlete stories","product launches","social causes"]},"meta":{"endpoint":"insights/profile/niche","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/niche"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/niche"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/niche","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/niche"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/similar":{"get":{"operationId":"getInsightsProfileSimilar","summary":"Find and rank accounts similar to one you give.","description":"Finds businesses/creators similar to a seed account: we search Instagram by the account's category/name, then AI-rank candidates by niche, business type, and audience fit. Cost: 3 credits.\n\nCost: 3 credits.","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"seed":{"username":"nike","category":"Sportswear"},"search_query":"Sportswear","similar":[{"username":"adidas","full_name":"adidas","similarity":95,"why":"Direct competitor in global sportswear"},{"username":"underarmour","full_name":"Under Armour","similarity":88,"why":"Performance apparel, similar audience"}]},"meta":{"endpoint":"insights/profile/similar","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/similar"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/similar"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/similar","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/similar"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/posts":{"get":{"operationId":"getProfilePosts","summary":"Recent posts (feed) for an account.","description":"Paginated list of an account's recent posts (photos, videos, carousels). Use `cursor` to page through.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"photo","product_type":"feed","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Just Do It.","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":null,"image_url":"https://instagram.com/.../media.jpg","video_url":null,"video_duration":null,"location":null,"author":{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"3919055228681437041_13460080"},"meta":{"endpoint":"profile/posts","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/posts"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/posts"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/posts","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/posts"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/reels":{"get":{"operationId":"getProfileReels","summary":"Reels (clips) for an account.","description":"Paginated list of an account's reels with view counts and metadata. Use `cursor` to page through.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"video","product_type":"clips","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Just Do It.","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":18403122,"image_url":"https://instagram.com/.../media.jpg","video_url":"https://instagram.com/.../reel.mp4","video_duration":35.9,"location":null,"author":{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"3919055228681437041_13460080"},"meta":{"endpoint":"profile/reels","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/reels"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/reels"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/reels","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/reels"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/stories":{"get":{"operationId":"getProfileStories","summary":"Currently-active stories for an account.","description":"Returns the account's currently live stories (expire after 24h). No pagination.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3925236392186180177","shortcode":"DZxabc12345","type":"video","taken_at":"2026-06-23T18:02:11Z","image_url":"https://instagram.com/.../story.jpg","video_url":"https://instagram.com/.../story.mp4","video_duration":14.2}],"next_cursor":null},"meta":{"endpoint":"profile/stories","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/stories"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/stories"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/stories","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/stories"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/highlights":{"get":{"operationId":"getProfileHighlights","summary":"Story highlight reels for an account.","description":"Returns the saved story highlights pinned to a profile.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"highlight:17975319242920589","title":"Just Do It","media_count":49,"created_at":"2025-09-10T18:33:44Z","cover_image_url":"https://instagram.com/.../cover.jpg"}],"next_cursor":null},"meta":{"endpoint":"profile/highlights","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/highlights"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/highlights"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/highlights","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/highlights"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/followers":{"get":{"operationId":"getProfileFollowers","summary":"A page of accounts that follow this account.","description":"Paginated list of followers (~50 per page). Use `cursor` to continue. Large accounts can have millions, so page responsibly.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"},{"id":"27821530565","username":"16mh.vl","full_name":"","is_verified":false,"is_private":true,"profile_pic_url":"https://instagram.com/.../nike.jpg"}],"next_cursor":"QVFEZmt..."},"meta":{"endpoint":"profile/followers","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/followers"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/followers"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/followers","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/followers"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/profile/following":{"get":{"operationId":"getProfileFollowing","summary":"A page of accounts this account follows.","description":"Paginated list of accounts the user follows (~50 per page). Use `cursor` to continue.\n\nCost: 2 credits.","tags":["Profiles"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"51049513","username":"nikebasketball","full_name":"Nike Basketball","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}],"next_cursor":"QVFEZmt..."},"meta":{"endpoint":"profile/following","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/profile/following"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/profile/following"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"profile/following","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/profile/following"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/post":{"get":{"operationId":"getPost","summary":"Full details for a single post or reel.","description":"Returns caption, media URLs, like/comment counts, author, timestamp, and carousel children for a post or reel.\n\nCost: 1 credit.","tags":["Posts"],"parameters":[{"name":"post","in":"query","required":true,"description":"An Instagram post/reel. Accepts a media id, a shortcode (`C1a2b3c4d5e`), or a full post/reel URL. We resolve it automatically.","schema":{"type":"string"},"example":"https://www.instagram.com/p/C1a2b3c4d5e/"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"photo","product_type":"feed","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Just Do It.","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":null,"image_url":"https://instagram.com/.../media.jpg","video_url":null,"video_duration":null,"location":null,"author":{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}},"meta":{"endpoint":"post","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"post\".","docs":"/docs/post"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/post"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"post","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/post"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/post/comments":{"get":{"operationId":"getPostComments","summary":"Comments on a post or reel.","description":"Paginated comments with author, text, like count, and timestamp. Use `cursor` to continue.\n\nCost: 2 credits.","tags":["Posts"],"parameters":[{"name":"post","in":"query","required":true,"description":"An Instagram post/reel. Accepts a media id, a shortcode (`C1a2b3c4d5e`), or a full post/reel URL. We resolve it automatically.","schema":{"type":"string"},"example":"https://www.instagram.com/p/C1a2b3c4d5e/"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"18105998371987583","text":"Legendary 🔥","like_count":54188,"created_at":"2026-06-04T16:00:41Z","author":{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"IntcImNhY2hlZF9jb21t..."},"meta":{"endpoint":"post/comments","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"post\".","docs":"/docs/post/comments"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/post/comments"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"post/comments","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/post/comments"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/post/likers":{"get":{"operationId":"getPostLikers","summary":"Accounts that liked a post.","description":"Returns accounts that liked the post. Availability depends on the post's privacy and size.\n\nCost: 2 credits.","tags":["Posts"],"parameters":[{"name":"post","in":"query","required":true,"description":"An Instagram post/reel. Accepts a media id, a shortcode (`C1a2b3c4d5e`), or a full post/reel URL. We resolve it automatically.","schema":{"type":"string"},"example":"https://www.instagram.com/p/C1a2b3c4d5e/"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"13460080","username":"nike","full_name":"Nike","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"},{"id":"51049513","username":"nikebasketball","full_name":"Nike Basketball","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}],"next_cursor":null},"meta":{"endpoint":"post/likers","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"post\".","docs":"/docs/post/likers"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/post/likers"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"post/likers","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/post/likers"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/post/image":{"get":{"operationId":"getInsightsPostImage","summary":"AI vision tags for a post's image.","description":"Runs an account-safe vision model over a post's image(s) and returns structured tags: subjects, scene, objects, dominant colors, any text in the image, mood, an aesthetic score, brand-safety flags, and suggested alt text. Carousels analyze up to the first few images. Cost: 3 credits.\n\nCost: 3 credits.","tags":["Insights"],"parameters":[{"name":"post","in":"query","required":true,"description":"An Instagram post/reel. Accepts a media id, a shortcode (`C1a2b3c4d5e`), or a full post/reel URL. We resolve it automatically.","schema":{"type":"string"},"example":"https://www.instagram.com/p/C1a2b3c4d5e/"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"post":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Just Do It.","analysis":{"subjects":["athlete","running shoe"],"scene":"outdoor track at sunrise","objects":["sneakers","track","starting blocks"],"dominant_colors":["orange","black","grey"],"text_in_image":"JUST DO IT","mood":"energetic","aesthetic_score":8.5,"brand_safe":true,"brand_safety_notes":"No unsafe content.","suggested_alt_text":"A sprinter on a track at sunrise wearing orange Nike shoes."}},"meta":{"endpoint":"insights/post/image","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"post\".","docs":"/docs/insights/post/image"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/post/image"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/post/image","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/post/image"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/post/comments":{"get":{"operationId":"getInsightsPostComments","summary":"AI sentiment + themes over a post's comments.","description":"Pages a post's comments and runs AI sentiment + theme analysis: positive/neutral/negative split, recurring themes with examples, an estimated spam percentage, representative positive/negative comments, and a summary. Pass `comments` (1–200, default 60). Cost: 4–12 credits depending on how many comments are analyzed.\n\nCost: 4–12 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"post","in":"query","required":true,"description":"An Instagram post/reel. Accepts a media id, a shortcode (`C1a2b3c4d5e`), or a full post/reel URL. We resolve it automatically.","schema":{"type":"string"},"example":"https://www.instagram.com/p/C1a2b3c4d5e/"},{"name":"comments","in":"query","required":false,"description":"Comments to analyze (1–200). Defaults to 60.","schema":{"type":"integer"},"example":"60"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"post":"https://www.instagram.com/p/DZK3iOsRlWX/","comments_analyzed":60,"sentiment":{"positive_pct":78,"neutral_pct":15,"negative_pct":7},"overall":"positive","themes":[{"theme":"product love","mentions":31,"example":"Need these 🔥"}],"spam_pct":5,"top_positive":["Legendary 🔥"],"top_negative":["Too expensive"],"summary":"Overwhelmingly positive reception centered on the product design."},"meta":{"endpoint":"insights/post/comments","request_id":"req_3f8a1c9e","credits_charged":4,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"post\".","docs":"/docs/insights/post/comments"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/post/comments"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/post/comments","credits_charged":4,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/post/comments"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/hashtag/top":{"get":{"operationId":"getHashtagTop","summary":"Top-ranked posts for a hashtag.","description":"Returns the 'Top' posts for a hashtag (Instagram's ranked selection).\n\nCost: 1 credit.","tags":["Hashtags"],"parameters":[{"name":"tag","in":"query","required":true,"description":"Hashtag without the `#`.","schema":{"type":"string"},"example":"sunset"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"photo","product_type":"feed","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Golden hour 🌅 #sunset","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":null,"image_url":"https://instagram.com/.../media.jpg","video_url":null,"video_duration":null,"location":null,"author":{"id":"8472","username":"wanderlust","full_name":"Wanderlust","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"WyJlNmFmZmIz..."},"meta":{"endpoint":"hashtag/top","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"tag\".","docs":"/docs/hashtag/top"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/hashtag/top"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"hashtag/top","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/hashtag/top"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/hashtag/recent":{"get":{"operationId":"getHashtagRecent","summary":"Most recent posts for a hashtag.","description":"Returns the most recent posts for a hashtag, newest first.\n\nCost: 1 credit.","tags":["Hashtags"],"parameters":[{"name":"tag","in":"query","required":true,"description":"Hashtag without the `#`.","schema":{"type":"string"},"example":"sunset"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"photo","product_type":"feed","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"Tonight's sky 🌇 #sunset","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":null,"image_url":"https://instagram.com/.../media.jpg","video_url":null,"video_duration":null,"location":null,"author":{"id":"9931","username":"skydaily","full_name":"Sky Daily","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"WyJlNmFmZmIz..."},"meta":{"endpoint":"hashtag/recent","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"tag\".","docs":"/docs/hashtag/recent"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/hashtag/recent"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"hashtag/recent","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/hashtag/recent"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/hashtag":{"get":{"operationId":"getInsightsHashtag","summary":"Competitiveness & velocity for a hashtag.","description":"Samples a hashtag's top and recent posts to estimate how competitive it is (average engagement a top post needs, a 0–100 difficulty score) and how fast it moves (posts per hour). Use it to choose hashtags you can realistically rank for. Cost: 2 credits.\n\nCost: 2 credits.","tags":["Insights"],"parameters":[{"name":"tag","in":"query","required":true,"description":"Hashtag without the `#`.","schema":{"type":"string"},"example":"sunset"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"tag":"sunset","top_sample":9,"recent_sample":18,"top_avg_engagement":84210,"top_avg_likes":82900,"top_avg_comments":1310,"posts_per_hour":4200,"difficulty_score":71,"difficulty_label":"high"},"meta":{"endpoint":"insights/hashtag","request_id":"req_3f8a1c9e","credits_charged":2,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"tag\".","docs":"/docs/insights/hashtag"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/hashtag"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/hashtag","credits_charged":2,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/hashtag"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/location":{"get":{"operationId":"getLocation","summary":"Details for a place / location.","description":"Returns metadata for an Instagram location (name, address, coordinates, post count).\n\nCost: 1 credit.","tags":["Locations"],"parameters":[{"name":"id","in":"query","required":true,"description":"Instagram location id or location URL.","schema":{"type":"string"},"example":"212988663"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"id":"212988663","name":"New York, New York","category":"City","address":"","city":"","zip":"","lat":40.7128,"lng":-74.006,"phone":"","website":"http://www.nyc.gov/","external_id":"108424279189115"},"meta":{"endpoint":"location","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"id\".","docs":"/docs/location"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/location"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"location","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/location"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/location/posts":{"get":{"operationId":"getLocationPosts","summary":"Recent posts tagged at a location.","description":"Paginated posts tagged at a given location. Use `cursor` to continue.\n\nCost: 1 credit.","tags":["Locations"],"parameters":[{"name":"id","in":"query","required":true,"description":"Instagram location id or location URL.","schema":{"type":"string"},"example":"212988663"},{"name":"cursor","in":"query","required":false,"description":"Pagination cursor returned as `next_cursor` in the previous response. Omit for the first page.","schema":{"type":"string"}}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"3912183471120209303","shortcode":"DZK3iOsRlWX","type":"photo","product_type":"feed","url":"https://www.instagram.com/p/DZK3iOsRlWX/","caption":"NYC nights 🗽","taken_at":"2026-06-04T15:59:27Z","like_count":2499414,"comment_count":55165,"view_count":null,"image_url":"https://instagram.com/.../media.jpg","video_url":null,"video_duration":null,"location":{"id":"212988663","name":"New York, New York","category":"City","address":"","city":"","zip":"","lat":40.7128,"lng":-74.006,"phone":"","website":"http://www.nyc.gov/","external_id":"108424279189115"},"author":{"id":"7781","username":"cityframes","full_name":"City Frames","is_verified":true,"is_private":false,"profile_pic_url":"https://instagram.com/.../nike.jpg"}}],"next_cursor":"WyJlNmFmZmIz..."},"meta":{"endpoint":"location/posts","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"id\".","docs":"/docs/location/posts"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/location/posts"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"location/posts","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/location/posts"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/search/users":{"get":{"operationId":"getSearchUsers","summary":"Search accounts by keyword.","description":"Returns accounts matching a search query, ranked by Instagram relevance.\n\nCost: 1 credit.","tags":["Search"],"parameters":[{"name":"q","in":"query","required":true,"description":"Search text.","schema":{"type":"string"},"example":"coffee"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"41238621959","username":"ddetoddo","full_name":"TODDO ★ Coffee & Food","is_verified":false,"is_private":false,"profile_pic_url":"https://instagram.com/.../toddo.jpg"}],"next_cursor":null},"meta":{"endpoint":"search/users","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"q\".","docs":"/docs/search/users"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/search/users"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"search/users","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/search/users"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/search/hashtags":{"get":{"operationId":"getSearchHashtags","summary":"Search hashtags by keyword.","description":"Returns hashtags matching a query with their post counts.\n\nCost: 1 credit.","tags":["Search"],"parameters":[{"name":"q","in":"query","required":true,"description":"Search text.","schema":{"type":"string"},"example":"travel"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"17843819167049166","name":"travel","media_count":795858928},{"id":"17841563530056883","name":"travelphotography","media_count":521334210}],"next_cursor":null},"meta":{"endpoint":"search/hashtags","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"q\".","docs":"/docs/search/hashtags"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/search/hashtags"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"search/hashtags","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/search/hashtags"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/search/locations":{"get":{"operationId":"getSearchLocations","summary":"Search places by keyword.","description":"Returns locations/places matching a query.\n\nCost: 1 credit.","tags":["Search"],"parameters":[{"name":"q","in":"query","required":true,"description":"Search text.","schema":{"type":"string"},"example":"new york"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"items":[{"id":"317742662473550","name":"New York","category":"","address":"","city":"","lat":40.7288,"lng":-73.9972,"external_id":"317742662473550"}],"next_cursor":null},"meta":{"endpoint":"search/locations","request_id":"req_3f8a1c9e","credits_charged":1,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"q\".","docs":"/docs/search/locations"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/search/locations"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"search/locations","credits_charged":1,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/search/locations"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/caption":{"get":{"operationId":"getInsightsProfileCaption","summary":"Write captions in an account's own voice.","description":"Learns an account's voice from its recent captions, then writes new captions on a `topic` you give, in that exact voice, plus suggested hashtags. Pass `count` (1–5, default 3). Cost: 3–7 credits depending on the sample window.\n\nCost: 3–7 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"topic","in":"query","required":true,"description":"What the new caption(s) should be about.","schema":{"type":"string"},"example":"summer running collection launch"},{"name":"count","in":"query","required":false,"description":"How many caption options to generate (1–5). Defaults to 3.","schema":{"type":"integer"},"example":"3"},{"name":"posts","in":"query","required":false,"description":"Recent posts to learn the voice from (1–50). Defaults to 12.","schema":{"type":"integer"},"example":"12"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","topic":"summer running collection launch","captions":["The heat is just another excuse to go further. New summer running gear, out now. Just Do It."],"hashtags":["#nikerunning","#justdoit","#summerrun"],"voice_notes":"Short, punchy, motivational; ends on a brand line."},"meta":{"endpoint":"insights/profile/caption","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/caption"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/caption"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/caption","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/caption"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/insights/profile/dm-opener":{"get":{"operationId":"getInsightsProfileDmOpener","summary":"Personalized cold-outreach opener for an account.","description":"Writes a short, genuine, non-spammy DM opener personalized to an account, referencing something specific from its profile and recent posts. Pass `offer` (what you're pitching) and optional `tone`. Pairs with `insights/profile/qualify`: qualify a lead, then write the opener. Cost: 3–7 credits depending on the sample window.\n\nCost: 3–7 credits (dynamic).","tags":["Insights"],"parameters":[{"name":"handle","in":"query","required":true,"description":"An Instagram account. Accepts a username (`nike`), a numeric user id (`13460080`), or a full profile URL (`https://instagram.com/nike`). We resolve it automatically.","schema":{"type":"string"},"example":"nike"},{"name":"offer","in":"query","required":false,"description":"What you're reaching out about (your product/offer).","schema":{"type":"string"},"example":"our influencer marketing platform"},{"name":"tone","in":"query","required":false,"description":"Desired tone. Defaults to friendly and professional.","schema":{"type":"string"},"example":"casual"},{"name":"posts","in":"query","required":false,"description":"Recent posts to personalize from (1–50). Defaults to 6.","schema":{"type":"integer"},"example":"6"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"username":"nike","opener":"Loved your sunrise track series, the way you tie product to athlete stories is unreal…","alternatives":["Your latest carousel on summer training really stood out…"],"personalization_notes":["References recent athlete-story posts","Notes their carousel format"]},"meta":{"endpoint":"insights/profile/dm-opener","request_id":"req_3f8a1c9e","credits_charged":3,"credits_remaining":4987,"ms":412}}}}},"400":{"description":"A required parameter is absent or malformed.","content":{"application/json":{"example":{"error":{"code":"missing_parameter","message":"Missing required parameter \"handle\".","docs":"/docs/insights/profile/dm-opener"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"402":{"description":"Out of credits; top up to continue.","content":{"application/json":{"example":{"error":{"code":"insufficient_credits","message":"You're out of credits. Top up to continue.","docs":"/dashboard/billing"},"meta":{"request_id":"req_3f8a1c9e"}}}}},"404":{"description":"Well-formed request, but no public data exists (still billed).","content":{"application/json":{"example":{"error":{"code":"not_found","message":"No public data for that request (private, deleted, or nonexistent). This is a billed request. We queried Instagram on your behalf.","docs":"/docs/insights/profile/dm-opener"},"meta":{"request_id":"req_3f8a1c9e","endpoint":"insights/profile/dm-opener","credits_charged":3,"credits_remaining":4985}}}}},"502":{"description":"Upstream data-provider error (not billed; safe to retry).","content":{"application/json":{"example":{"error":{"code":"upstream_error","message":"Upstream data provider error. You were not charged. Please retry.","docs":"/docs/insights/profile/dm-opener"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}},"/v1/credits":{"get":{"operationId":"getCredits","summary":"Your account's current credit balance.","description":"Returns the number of credits remaining on your account. This call is free. It never consumes a credit and does not query Instagram. Use it to monitor usage or surface a live balance in your own dashboard.\n\nCost: free (no credit charged).","tags":["Account"],"parameters":[],"responses":{"200":{"description":"Success.","content":{"application/json":{"example":{"data":{"credits_remaining":4987},"meta":{"endpoint":"credits","request_id":"req_3f8a1c9e","credits_charged":0,"credits_remaining":4987}}}}},"401":{"description":"Missing, malformed, or revoked API key.","content":{"application/json":{"example":{"error":{"code":"invalid_api_key","message":"This API key is invalid or has been revoked.","docs":"/docs#authentication"},"meta":{"request_id":"req_3f8a1c9e"}}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your API key, sent as `Authorization: Bearer <key>`."}}}}