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.

stagedinstagram.comWASM module10 fields2-30 units, 1/post | 1 record/postfresh 5 min
‹ Recipes
…json
POST api.crawl4ai.com/recipes/…

$ crawl recipe

              
Live · your key · counts against your quota✓ 200 OK
# Hit Run - the rows render here as a table, with the cost

Fields

10 columns on every row. null means the site does not state it.
fieldtypemeaning
codestringInstagram's short code of the post, the part after /p/ in its URL.
urlstringThe post's URL, https://www.instagram.com/p/<code>/.
captionstringThe post's text, cut to its first 500 characters; null when it has none.
likesintegerHow many likes the post has, an integer; null when the account hides the count.
commentsintegerHow many comments the post has, an integer.
taken_atstringWhen the post was published, ISO 8601 UTC.
kindstringphoto, video, reel or carousel (several photos or videos in one post).
imagestringThe URL of the post's image or video cover; it expires after some days, as Instagram signs it.
video_urlstringThe URL of the video for a video or reel; null for a photo or carousel. It expires like the image.
ownerstringThe 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.

codestringInstagram's short code of the post, the part after /p/ in its URL.
urlstringThe post's URL, https://www.instagram.com/p/<code>/.
captionstringThe post's text, cut to its first 500 characters; null when it has none.
likesintegerHow many likes the post has, an integer; null when the account hides the count.
commentsintegerHow many comments the post has, an integer.
taken_atstringWhen the post was published, ISO 8601 UTC.
kindstringphoto, video, reel or carousel (several photos or videos in one post).
imagestringThe URL of the post's image or video cover; it expires after some days, as Instagram signs it.
video_urlstringThe URL of the video for a video or reel; null for a photo or carousel. It expires like the image.
ownerstringThe username of the post's author; for a post made together with another account it can be that account.

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.

Need more from Instagram?

Extra fields, higher volume, or a private copy with a freshness SLA. We build it on Enterprise.

Request a change

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.