Instagram Full-Resolution Media Capture via GraphQL
Record the GraphQL responses your own signed-in browser already receives and save every image and video at its original resolution, up to 3072×4096 JPEG.
- Instagram ENT (Requires Enterprise Operator Build)
- GraphQL
- HAR 1.2
Business Pain Point
What slows your team down today
Big responses arrive cut in half
A single Instagram GraphQL answer can reach 1.97 MB. Extensions and capture tools that cap bodies at 1 MB hand back a truncated payload that fails with "Unterminated string".
Screenshots and right-click saves lose quality
What the feed renders is a resized preview. The original 3072×4096 JPEG is only referenced inside the response data.
Redirected media links break the trail
Media URLs pass through 302 redirects. Tools that record only the final hop lose the link between a post and its file.
Operun Advantage
Why the Operun kernel gets it right
5 MB per-body budget
The capture keeps up to 5 MiB of one response body by default (adjustable with --max-body-size), inside an 8 MiB whole-capture budget. Anything cut is marked with its true size.
FIFO RequestChain pairing
Each request id is tracked as a chain of hops with two FIFO queues, so headers and cookies are paired with the right hop whatever order Chrome reports them in.
Lossless 302 tracking
Every redirect hop is completed from the next hop’s redirectResponse and exported with its redirectURL, so each file traces back to the post that referenced it.
- 01
Start the capture
Open Instagram in your signed-in browser and start a capture filtered to GraphQL traffic, with response bodies on.
- 02
Browse the profile
Operun navigates and scrolls the profile so Instagram loads the posts into the page as usual.
- 03
Stop and export the HAR
Stop the capture and write a HAR 1.2 file with complete bodies and every 302 hop.
- 04
Save original media
The media index is built from the responses and each original image or video is saved per post.
Run It Yourself
The Operun commands behind this playbook
Runs on: Enterprise Operator Edition.
# Operator Edition required for capture start|stop
operun browser capture start --tab 7 --match "graphql" \
--bodies --max-body-size 5242880
operun browser goto --tab 7 "https://www.instagram.com/<your-brand>/"
operun browser act --action scroll --tab 7 --direction down --amount 2400
operun browser capture stop --tab 7 --out brand-feed.har {
"entries": 38,
"body_limit": 5242880,
"bodies_omitted": 0,
"dropped": 0
} Authorized use only: Designed strictly for exporting data from your own authorized accounts or public, permission-granted sources in compliance with platform terms. Capture only content you own or are licensed to use, and follow Instagram’s terms. Operun records traffic your own signed-in browser already receives; it does not access private accounts you cannot view.
Input / Output Artifacts
What goes in, what comes out
Inputs
-
Accounts or profiles
Your own brand accounts, or content you have rights to
-
Capture filter
URL regex, e.g. graphql
-
Output folder
Local folder or NAS path
Deliverables
-
HAR 1.2 recording
.har with full response bodies and redirect chains
-
Original-resolution media
JPEG / MP4 at the source resolution, one folder per post
-
Media index
CSV / JSON — post, caption, media URL, dimensions
ROI Impact
Measured in hours, not promises
2 MB+
GraphQL answers kept whole, not truncated
3072×4096
original JPEG resolution preserved
0
screenshots or manual saves
Typical results from production engagements; your outcome depends on store count and workflow scope.
See this playbook run on your stack
Book a live demo and watch Operun execute instagram full-resolution media capture via graphql inside your real workflow.
Book a Demo Get Pro with Operator EditionRequires Enterprise Operator Edition.