{"uid":"cap_cDOqn12PN-tZqPMF6bY-Y","slug":"instagram-profile-posts-feed-c3684685","name":"Instagram Profile Posts Feed","description":"Page through an Instagram account's posts by username — captions, like and comment counts, media type, video duration, image and thumbnail URLs, post permalinks, tagged users and location, plus a cursor for the next page. Instagram posts feed, reels listing, creator content history, social post data. No API key.","url":"https://instagram.use.x402atlas.com/posts/:username","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","pathParams"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"pathParams":{"type":"object","required":["username"],"properties":{"username":{"type":"string","pattern":"^[A-Za-z0-9._]+$","maxLength":30,"description":"Instagram handle as it appears in the profile URL, e.g. `nasa` for instagram.com/nasa. Case-insensitive, no leading @."}}},"queryParams":{"type":"object","properties":{"cursor":{"type":"string","maxLength":1024,"description":"Opaque pagination token returned as `next_cursor` by a previous call. Omit or leave empty to get the first page."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["username","posts","next_cursor","next_cursor_url"],"properties":{"note":{"type":"string","description":"Present only when the page came back empty (unknown, private or empty account, or an expired cursor). The paid lookup still ran."},"posts":{"type":"array","items":{"type":"object","required":["is_video","has_audio","dimensions","likes","comments","comments_disabled","like_and_view_counts_disabled","is_paid_partnership","tagged_users","carousel"],"properties":{"id":{"type":"string"},"url":{"type":"string","description":"Public post permalink, derived from the shortcode"},"likes":{"type":"integer"},"owner":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"}}},"title":{"type":"string","description":"Post title; only reels and clips carry one, absent on ordinary feed posts"},"caption":{"type":"string","description":"The post's written caption; falls back to accessibility_caption when the post has no written one"},"carousel":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"is_video":{"type":"boolean"},"shortcode":{"type":"string"},"dimensions":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"display_url":{"type":"string"}}},"description":"Children of a multi-media post; empty for single-media posts"},"comments":{"type":"integer"},"is_video":{"type":"boolean"},"location":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"}},"description":"Tagged place; absent when the post has none"},"has_audio":{"type":"boolean"},"shortcode":{"type":"string","description":"The post's short id, the last segment of its permalink"},"dimensions":{"type":"object","properties":{"width":{"type":"integer"},"height":{"type":"integer"}}},"display_url":{"type":"string","description":"Full-size image (or video cover) URL"},"product_type":{"type":"string","description":"Post kind as Instagram labels it, e.g. feed or clips (reels)"},"tagged_users":{"type":"array","items":{"type":"string"},"description":"Handles tagged in the post"},"thumbnail_url":{"type":"string","description":"Smaller preview of the same media as display_url — use it for grids and lists"},"video_duration":{"type":"number","description":"Video length in seconds. Absent on images, and also absent when the post is a video whose duration is not reported — branch on is_video, not on this field"},"comments_disabled":{"type":"boolean"},"is_paid_partnership":{"type":"boolean"},"accessibility_caption":{"type":"string","description":"Instagram's auto-generated image description"},"like_and_view_counts_disabled":{"type":"boolean"}}},"description":"One page of the account's posts, newest first; empty when nothing public was found"},"username":{"type":"string","description":"The normalized handle that was looked up"},"next_cursor":{"type":"string","description":"Opaque token for the next page of posts; feed it back as `?cursor=` on /instagram/posts/{username}. Empty when there is no further page."},"next_cursor_url":{"type":"string","description":"Ready-made URL for the next page — GET it as-is (it is a paid $0.02 call like any other). Equivalent to feeding `next_cursor` back yourself. Empty when there is no further page."}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Oyov8wuuEjfd6ad10uuoI","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Fetches a paginated list of an Instagram account's posts by username, including captions, engagement metrics, media metadata, and tagged users","exampleAgentPrompt":"Can you pull the latest Instagram posts from the account 'nasa' — I want the captions, like counts, comment counts, and any image or video URLs?","exampleUseCases":[{"title":"Creator content audit for brand deal","prompt":"Fetch the recent Instagram posts for the account 'chrissyteigen' — I need the captions, like counts, comment counts, and whether each post is a photo or video so I can evaluate her engagement for a potential partnership."},{"title":"Competitor social media monitoring","prompt":"Pull the last page of Instagram posts from 'nikerunning' and give me the captions and engagement numbers — I want to see what content they've been putting out recently."},{"title":"Influencer content history scraper","prompt":"Page through all of 'gordonramsay's Instagram posts starting from the beginning and give me the captions, media types, and like counts for each one — use the next cursor to keep going until you've got at least 50 posts."}],"resultDescription":"Returns a paginated array of post objects, each containing the post ID, permalink URL, caption, like count, comment count, media type (photo/video/carousel), video duration, image and thumbnail URLs, tagged users, location data, owner info, and whether comments or likes are disabled. Also returns a next_cursor and next_cursor_url for fetching subsequent pages. A note field is present if the account is private, unknown, or the cursor has expired.","failureModes":["Private or nonexistent account returns empty posts array with a note field explaining the situation","Expired or invalid cursor returns empty posts with a note, but the paid lookup still runs","Username with invalid characters (e.g. leading @, spaces) rejected by schema validation before payment","Rate limiting or Instagram-side blocks may return empty results without error","Truncated or missing fields on individual posts if Instagram returns incomplete data"],"whenToPreferThis":"Use this endpoint when you need structured post-level data from a public Instagram account without setting up your own Instagram API credentials or OAuth flow. It is ideal for bulk content extraction, engagement analytics, influencer research, or social listening pipelines where you need captions, media URLs, and metrics across multiple pages of posts. Prefer this over manual scraping or the official Instagram Graph API when you want a simple pay-per-call model with no setup.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:39:04.930Z","isFirstParty":false}