solari instagram account posts
Page through one account's posts, newest first.
- MCP tool
- solari_instagram_account_posts
- CLI
- solari instagram account posts
- Access
- solari:readWorks with any signed-in SOLARI account.Works with any signed-in SOLARI account.
Overview
Posts by one tracked Instagram account, newest first, with pagination and filters. Identify the account by account_id (UUID from solari_instagram_account_search) or by username (Instagram handle). Each item has post_id (SOLARI post UUID), slug and url (public Instagram permalink), post_type (reel, video, photo, or carousel), posted_at, caption text, like/comment/play counts, media_count, is_paid_partnership, a medias array (every media of the post in carousel order, each with media_type, media/thumbnail URLs, video_duration, and tags — accounts and hashtags tagged on that media, with account_id when the tagged account is tracked), and a representative thumbnail_url. The response carries found, account_id, username, total, has_more, and items; page with limit and offset, narrow with since/until (UTC dates, inclusive) and post_type. A username not tracked yet is fetched live on first request (allow several seconds), and fetched_on_demand=true marks that only its most recent posts are available so far; found=false means the handle does not exist on Instagram. Works with any signed-in SOLARI account.
When to use it — Going deeper than the profile preview, or pulling raw rows narrowed by date range and format.
What comes back — Posts with every media of each post, including the accounts and hashtags tagged on them.
Parameters
- account_idstringoptional
- account_id of the account (SOLARI account UUID). Provide this or username.uuid, pattern ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
- usernamestringoptional
- Instagram handle, with or without a leading @. Ignored when account_id is set.≤ 64 chars
- limitintegeroptional
- Posts per page, default 12. Values above 200 are clamped to 200.≥ 1
- offsetintegeroptional
- Pagination offset, default 0.default
0≥ 0 - sincestringoptional
- Only posts on or after this UTC date, YYYY-MM-DD inclusive.pattern ^\d{4}-\d{2}-\d{2}$
- untilstringoptional
- Only posts on or before this UTC date, YYYY-MM-DD inclusive.pattern ^\d{4}-\d{2}-\d{2}$
- post_typeenumoptional
- Only posts of this format. reel is short-form single-video; video is non-reel video.Values
reelvideophotocarousel
Response
Response
- foundboolean
- false means the handle does not exist on Instagram.
- account_id / usernamestring
- The resolved account.
- totalinteger
- Posts matching the filters.
- has_moreboolean
- Whether another page exists.
- itemsobject[]
- Posts, newest first.
- fetched_on_demandboolean
- true when only the most recent posts are available so far.
items[]
- post_iduuid
- SOLARI post id.
- slugstring
- Instagram shortcode.
- urlstring
- Public permalink.
- post_typestring
- reel, video, photo, or carousel.
- posted_attimestamp
- Publication time (UTC).
- textstring
- Caption text.
- like_count / comment_count / play_countinteger
- Engagement snapshot.
- media_countinteger
- Number of medias in the post.
- is_paid_partnershipboolean | null
- Instagram's own paid-partnership label.
- mediasobject[]
- Every media in carousel order — each with media_type, media/thumbnail URLs, and video_duration.
- medias[].tagsobject[]
- Accounts and hashtags tagged on that media. A tagged account carries account_id when SOLARI tracks it.
- thumbnail_urlstring
- Representative thumbnail.
Example
Request
$ solari instagram account posts username=innisfreeofficial limit=2Response · Long strings and repeated array entries are trimmed for readability.
{
"found": true,
"account_id": "018cabce-14cc-7544-8890-7811ec33ef74",
"username": "innisfreeofficial",
"fetched_on_demand": false,
"total": 4196,
"has_more": true,
"items": [
{
"post_id": "01a06275-d974-7fda-98ee-dd3ee15b4dcf",
"slug": "DcyMAmUh6FZ",
"url": "https://www.instagram.com/p/DcyMAmUh6FZ/",
"post_type": "reel",
"posted_at": "2026-09-02T12:00:06+00:00",
"text": "Deeply hydrated skin—NO OFF HOURS. 💚\nwherever the day takes MINGYU (@min9yu_k)—his hydration stays SUPERCHARGED ⚡️\n\nGreen Tea Ceramide Milk: Lightweight milky toner that won‘t clog your pores\nGreen Tea Ceramide Mist: Tou …",
"like_count": 3224,
"comment_count": 57,
"play_count": 22467,
"media_count": 1,
"is_paid_partnership": false,
"medias": [
{
"media_type": "video",
"media_url": "https://smr-images-b.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.mp4",
"thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …",
"video_duration": 23.868000030517578,
"tags": []
}
],
"thumbnail_url": "https://bzine.co/cdn-cgi/media/width=480,mode=frame,time=0ms/https://smr-images.bzine.co/users/018cabce-14cc-7544-8890-7811ec33ef74/posts/01a06275-d974-7fda-98ee-dd3ee15b4dcf/medias/01a06275-db2b-77f7-a020-b4beb744771f.m …"
},
"… 1 more"
]
}As an MCP call
{
"name": "solari_instagram_account_posts",
"arguments": {
"username": "innisfreeofficial",
"limit": 2
}
}Notes
- Up to 200 per page. For bulk pulls prefer --ndjson appended to a file over large in-memory pages.
- since and until are UTC dates and inclusive on both ends.
- post_type=reel is short-form single video; video is non-reel video.
Related tools
- solari_instagram_account_profileEverything SOLARI knows about one Instagram account, with performance metrics.
- solari_instagram_content_detailOne Instagram post in full.
- solari_tiktok_account_postsPage through one TikTok account's posts, newest first.
Machine-readable: /docs/tools/instagram-account-posts.md