# Instagram Profile & Posts **Instagram Profile & Posts** is an independently documented x402 Atlas bridge at https://instagram.use.x402atlas.com. This document describes only this bridge; it does not aggregate routes, schemas, or content from any other bridge. ## How payment works Paid operations use the [x402 payment protocol](https://x402.org) and settle in USDC. Atlas supports deployments on Base, Polygon, and Arbitrum, plus configured Solana networks. This bridge currently advertises Arbitrum One (`eip155:42161`), Base (`eip155:8453`), Polygon (`eip155:137`), Solana mainnet (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`). 1. Send the HTTP request without a payment signature. 2. Read the `402 Payment Required` response. Its `accepts` entries are the authoritative network, asset, amount, and recipient options for that call. 3. Select an option, sign it with an x402-compatible wallet or SDK, and repeat the request with the `PAYMENT-SIGNATURE` header. The successful response is returned after verification and settlement. TypeScript clients can automate the challenge, signing, and retry flow with [`x402-fetch`](https://www.npmjs.com/package/x402-fetch) or [`x402-axios`](https://www.npmjs.com/package/x402-axios). Fund a dedicated wallet only with the working USDC balance it needs and keep that key separate from treasury accounts. ## Pricing Atlas route prices start at $0.005 per successful call. This bridge's fallback price is $0.005; operations below state their exact configured price in `x-x402` and `x-payment-info`. The live `402` challenge remains authoritative. ## Worked payment example Request one documented operation without a signature to inspect its live terms: ```bash curl -i 'https://instagram.use.x402atlas.com/posts/nasa?cursor=' # HTTP/1.1 402 Payment Required # Read accepts[].network, asset, amount, and payTo from this response. ``` Sign one accepted option and repeat the identical request with the `PAYMENT-SIGNATURE` header. Do not invent or cache payment terms; read them from the current challenge. ## Use this API - Interactive reference: https://instagram.use.x402atlas.com/docs - OpenAPI 3.1 specification: https://instagram.use.x402atlas.com/openapi.json - Agent-readable route corpus: https://instagram.use.x402atlas.com/llms.txt - Endpoint index: https://instagram.use.x402atlas.com/index.json Use the operation schemas and examples below to construct requests. Copy the server URL, path, method, parameters, and request body from the operation you want to call. Path and query examples are concrete and can be used directly. ## Atlas response metadata Successful JSON responses include an additive top-level `_atlas` block, kept separate from the bridge's data fields. `_atlas.docs` links this bridge's `/llms.txt` corpus. `_atlas.related` suggests adjacent APIs, each with a callable `url`, its own `docs` link, and a short `summary`. Suppress this block by sending `X-Atlas-Meta: none` or by adding `?_atlas=0` to the request. ## Errors and compatibility Validation failures use HTTP `400`. Paid operations may return `402` before dispatch. Upstream and internal failures use the documented `5xx` responses. Clients should rely on documented fields and tolerate additive response fields, including `_atlas` unless they explicitly opt out. ## Protocol reference - x402 protocol and SDKs: https://x402.org ## Instagram Profile & Posts Docs: https://instagram.use.x402atlas.com/docs · OpenAPI: https://instagram.use.x402atlas.com/openapi.json ### GET /posts/{username} 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. Instagram posts feed: put the account handle in the path (`/posts/nasa` — case-insensitive, no leading `@`). Returns `{ username, posts, next_cursor, next_cursor_url }`. Each post carries `id`, `shortcode`, a derived `url` permalink, `caption` (the written caption, falling back to `accessibility_caption`), `is_video`, `video_duration` and `has_audio` for reels, `product_type`, `title`, `display_url`, `thumbnail_url`, `dimensions`, `likes`, `comments`, the `comments_disabled` / `like_and_view_counts_disabled` / `is_paid_partnership` flags, `tagged_users`, `location` when the post has one, `owner`, and `carousel` children for multi-media posts. Paging: omit `cursor` for the first page, then either pass the previous response's `next_cursor` as `?cursor=` or simply GET its `next_cursor_url`, which is the same request pre-built. Both are empty on the last page — there is deliberately no link back to page one, so following links terminates. An unknown, private or empty account — or a cursor the upstream no longer accepts — still returns `200` with `posts: []` and a `note` (the paid lookup ran, so the request is billed); only a genuine upstream failure is a `502`. This route deliberately returns no profile object; use `/profile/{username}` for follower counts and account metadata. **Price:** $0.02 per call. Parameters: - `username` (required path, string) — Instagram handle as it appears in the profile URL, e.g. `nasa` for instagram.com/nasa. Case-insensitive, no leading @.; maxLength: `30`, pattern: `"^[A-Za-z0-9._]+$"`; example: `"nasa"` - `cursor` (optional, string) — Opaque pagination token returned as `next_cursor` by a previous call. Omit or leave empty to get the first page.; maxLength: `1024`; example: `""` Example: ```sh curl 'https://instagram.use.x402atlas.com/posts/nasa?cursor=' ``` Response example: ```json { "next_cursor": "QVFEeWJzNWJXVUZ6M0xkVWhoOWc3RHhwLW5rTk1pT2h5", "next_cursor_url": "https://instagram.use.x402atlas.com/posts/nasa?cursor=QVFEeWJzNWJXVUZ6M0xkVWhoOWc3RHhwLW5rTk1pT2h5", "posts": [ { "accessibility_caption": "Photo by NASA of the Sun's corona against a black sky.", "caption": "A new view of the Sun's corona, captured during totality.", "carousel": [], "comments": 4102, "comments_disabled": false, "dimensions": { "height": 1350, "width": 1080 }, "display_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_1.jpg", "has_audio": false, "id": "3502108108334577896", "is_paid_partnership": false, "is_video": false, "like_and_view_counts_disabled": false, "likes": 812345, "location": { "id": "212999109", "name": "Kennedy Space Center", "slug": "kennedy-space-center" }, "owner": { "id": "528817151", "username": "nasa" }, "product_type": "feed", "shortcode": "DBaVQ2Rx3Ho", "tagged_users": [ "nasahubble" ], "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_1_thumb.jpg", "url": "https://www.instagram.com/p/DBaVQ2Rx3Ho/" }, { "accessibility_caption": "Video by NASA of astronauts in training suits.", "caption": "Artemis II crew training, in 60 seconds.", "carousel": [], "comments": 8891, "comments_disabled": false, "dimensions": { "height": 1920, "width": 1080 }, "display_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_2.jpg", "has_audio": true, "id": "3498765432109876543", "is_paid_partnership": false, "is_video": true, "like_and_view_counts_disabled": false, "likes": 1204553, "owner": { "id": "528817151", "username": "nasa" }, "product_type": "clips", "shortcode": "DBOxK1LvQ8m", "tagged_users": [], "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_2_thumb.jpg", "title": "Artemis II crew training", "url": "https://www.instagram.com/p/DBOxK1LvQ8m/", "video_duration": 58.6 } ], "username": "nasa" } ``` ### GET /profile/{username} Full Instagram profile by username — bio, follower and following counts, posts count, verified and business account flags, category, contact email, external and bio links, profile picture, plus the first page of recent posts and a cursor for more. Instagram profile lookup, creator and influencer stats, follower count, social audience data. No API key. Instagram profile lookup: put the account handle in the path (`/profile/nasa` — case-insensitive, no leading `@`). Returns `{ username, profile, posts, next_cursor, next_cursor_url }`. `profile` carries the bio, `followers`/`following`/`posts_count`, the `is_private`/`is_verified`/`is_verified_by_meta`/`is_business_account`/`is_professional_account` flags, `category_name`, business contact fields when the account publishes them, `external_url` plus every `bio_links` entry, and both profile-picture sizes. `posts` is the first page of the account's posts in the same shape `/posts/{username}` returns — each with a derived `url` permalink, `caption`, `likes`, `comments`, media type and dimensions, `tagged_users`, `location` and `carousel` children for multi-image posts. `next_cursor` is an opaque token: pass it as `?cursor=` to `/posts/{username}` to page further, or just GET `next_cursor_url`, the ready-made link to that same next page (a normal paid $0.02 call — cheaper than re-fetching this profile route). Both are empty when there is no further page. A handle that does not exist, is private, or has nothing public still returns `200` with zeroed fields and a `note` (the paid lookup ran, so the request is billed); only a genuine upstream failure is a `502`. **Price:** $0.04 per call. Parameters: - `username` (required path, string) — Instagram handle as it appears in the profile URL, e.g. `nasa` for instagram.com/nasa. Case-insensitive, no leading @.; maxLength: `30`, pattern: `"^[A-Za-z0-9._]+$"`; example: `"nasa"` Example: ```sh curl 'https://instagram.use.x402atlas.com/profile/nasa' ``` Response example: ```json { "next_cursor": "QVFEeWJzNWJXVUZ6M0xkVWhoOWc3RHhwLW5rTk1pT2h5", "next_cursor_url": "https://instagram.use.x402atlas.com/posts/nasa?cursor=QVFEeWJzNWJXVUZ6M0xkVWhoOWc3RHhwLW5rTk1pT2h5", "posts": [ { "accessibility_caption": "Photo by NASA of the Sun's corona against a black sky.", "caption": "A new view of the Sun's corona, captured during totality.", "carousel": [], "comments": 4102, "comments_disabled": false, "dimensions": { "height": 1350, "width": 1080 }, "display_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_1.jpg", "has_audio": false, "id": "3502108108334577896", "is_paid_partnership": false, "is_video": false, "like_and_view_counts_disabled": false, "likes": 812345, "location": { "id": "212999109", "name": "Kennedy Space Center", "slug": "kennedy-space-center" }, "owner": { "id": "528817151", "username": "nasa" }, "product_type": "feed", "shortcode": "DBaVQ2Rx3Ho", "tagged_users": [ "nasahubble" ], "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_1_thumb.jpg", "url": "https://www.instagram.com/p/DBaVQ2Rx3Ho/" }, { "accessibility_caption": "Video by NASA of astronauts in training suits.", "caption": "Artemis II crew training, in 60 seconds.", "carousel": [], "comments": 8891, "comments_disabled": false, "dimensions": { "height": 1920, "width": 1080 }, "display_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_2.jpg", "has_audio": true, "id": "3498765432109876543", "is_paid_partnership": false, "is_video": true, "like_and_view_counts_disabled": false, "likes": 1204553, "owner": { "id": "528817151", "username": "nasa" }, "product_type": "clips", "shortcode": "DBOxK1LvQ8m", "tagged_users": [], "thumbnail_url": "https://scontent.cdninstagram.com/v/t51.29350-15/nasa_post_2_thumb.jpg", "title": "Artemis II crew training", "url": "https://www.instagram.com/p/DBOxK1LvQ8m/", "video_duration": 58.6 } ], "profile": { "bio_links": [ { "link_type": "external", "title": "NASA", "url": "https://www.nasa.gov/" } ], "biography": "Exploring the universe and our home planet.", "category_name": "Government organization", "external_url": "https://www.nasa.gov/", "followers": 97600000, "following": 78, "full_name": "NASA", "has_channel": false, "has_guides": false, "has_reels": true, "has_threads_profile": true, "hide_like_and_view_counts": false, "id": "528817151", "is_business_account": false, "is_private": false, "is_professional_account": true, "is_verified": true, "is_verified_by_meta": true, "joined_recently": false, "posts_count": 4212, "profile_pic_url": "https://scontent.cdninstagram.com/v/t51.2885-19/nasa_profile.jpg", "profile_pic_url_hd": "https://scontent.cdninstagram.com/v/t51.2885-19/nasa_profile_hd.jpg", "username": "nasa" }, "username": "nasa" } ```