Skip to main content
Fetch a single Instagram post or reel by URL (media URLs, like count, owner, type) as normalized JSON. Turn on hostVideo to also get the post’s video on a hosted MP4 link that plays without an Instagram session, charged as an extra on top of the price. If you want the spoken words as well, instagram.reel_transcript transcribes the same reel. This page is the seller-facing summary of one catalog API, instagram.post. The transport rules that apply to every API a seller serves - signed requests, the response envelope, timeouts, and body limits - are on the operator endpoint contract.

The price you compete with

AnyAPI publishes this API from $0.50 per 1,000 requests. That is the price a buyer sees today, so it is the price your endpoint has to come in under to win traffic.

The request your endpoint receives

The response your endpoint must return

Extra fields are kept, missing declared fields fail.

Fields that must never come back empty

  • caption
  • displayUrl
  • hashtags
  • id
  • owner
The repository marks these fields as ones every source must be able to fill. An empty value is only correct when the entity itself genuinely has nothing there.

Not found, and how it differs from empty

When the entity does not exist, answer 2xx with the not-found shape:
An empty list is not a not-found: when the entity exists and has nothing to return, answer 2xx with found: true and an empty hashtags array. This output schema declares no reason field, so found: false is the whole not-found answer.

Example request

The compatibility checks fire the schema’s example at your endpoint. After that, your answers are graded against what the currently serving source returned for the same real customer inputs.

Next