Instagram post date
When an Instagram post or reel was published, to the millisecond, read from the letters in its URL. It runs in your browser: nothing is sent anywhere, and it is free.
The time is inside the id: nothing is sent anywhere.
How it works
The letters after /p/ or /reel/ in a post’s URL are its shortcode: the post’s numeric id, written in base 64. Read back as a number, the id’s top 41 bits count the milliseconds since Instagram’s epoch, 24 August 2011 at 21:07:01.721 UTC.
It is when Instagram made the post: the second it went up for most posts, and a little earlier for a scheduled one.
The same in your own code:
// a shortcode is the post's id in base 64; the id's top 41 bits are milliseconds since 24 August 2011
const ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_';
const EPOCH = 1314220021721n;
const mediaId = (code: string) => [...code].reduce((n, c) => n * 64n + BigInt(ALPHABET.indexOf(c)), 0n);
const postDate = (code: string) => new Date(Number((mediaId(code) >> 23n) + EPOCH));
postDate('DbVRorVjKIo').toISOString(); // '2026-07-28T10:00:29.828Z'The rest of the post
The id gives the time and nothing else. GET /v1/instagram/post gives the whole post: its caption, author, likes, comments, views and every image or video in it. A call costs 3 credits, $2.34 per 1,000 on the smallest pack, and with no key it answers from the demo. Every endpoint is on the ScrapeField Instagram API page.
Questions
Does it work for a reel?
Yes: a reel’s link has a shortcode like a post’s, after /reel/.
Does it work for a private account’s post?
If you have its link, yes: the time is in the shortcode, which is in the link, whoever can see the post.
Is the time exact?
To the millisecond, as Instagram made the id. A scheduled post’s id is made a little before it goes up.