instagram-posts
The latest posts of one Instagram account, newest first, one row per post: code, URL, caption (first 500 characters), likes, comments, time posted, kind (photo, video, reel, carousel), image, video URL, owner. username is the account (@name or an instagram.com URL). Without session: the 12 latest posts of a public account, about 3 to 8 s (a larger limit gives those 12, marked partial). With session (your sessionid and csrftoken cookies from the Crawl4AI Session extension, used once, never stored) it is read as you, up to 48.
Recipes are not open yet.
What this recipe returned on its last run. No key needed to look.
Fields
10 columns on every row. null means the site does not state it.| field | type | meaning |
|---|---|---|
| code | string | Instagram's short code of the post, the part after /p/ in its URL. |
| url | string | The post's URL, https://www.instagram.com/p/<code>/. |
| caption | string | The post's text, cut to its first 500 characters; null when it has none. |
| likes | integer | How many likes the post has, an integer; null when the account hides the count. |
| comments | integer | How many comments the post has, an integer. |
| taken_at | string | When the post was published, ISO 8601 UTC. |
| kind | string | photo, video, reel or carousel (several photos or videos in one post). |
| image | string | The URL of the post's image or video cover; it expires after some days, as Instagram signs it. |
| video_url | string | The URL of the video for a video or reel; null for a photo or carousel. It expires like the image. |
| owner | string | The username of the post's author; for a post made together with another account it can be that account. |
null means the site does not state it.
How it behaves
Cost. 2-30 units, 1/post | 1 record/post. A failed run costs 0.
Freshness 5 min. The same input within 5 min is served from cache at 0 units.
How it answers. Answers at once for one input; a large run goes as a job you poll.
Questions about this recipeQuestions
Short answers. The API reference has the long ones.
Call POST /recipes/instagram-posts with your key and username and limit. You get rows with the 10 fields above. The recipe is tested against the live site every 6 hours.
2-30 units, 1/post | 1 record/post. A failed run costs 0. The same input within 5 min costs 0.
Yes. Sign up with Google, GitHub or email for a free key with 1,000 credits every month. No credit card.
The health check runs every 6 hours against the live site. A failing recipe shows as failing on this page until we fix it.
Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.
Request a changeMore for social listening
All 24 recipes →The latest messages of a public Telegram channel, from its web preview page: text, time, view count, the message's link and id, newest…
A public Facebook page's posts as its first load carries them (no paging): one row per post with id, URL, text (first 1000 chars), time…
One public Facebook post as one row: id, URL, author, text, time posted, reactions in total and by type, comments, shares, photos and…
For developers
Get a free API key and run your first crawl.
1,000 credits every month. No credit card. Your self-hosted setup keeps working.
For teams
Talk to us about volume, regions and an SLA.
A 30-minute call with the team that writes the crawler. DPA on request, invoice billing, your choice of US, EU or Singapore.