fetchproof.

/v1/instagram/post

GET

Post/Reel Info

Get public post or reel details. Play counts may be inaccurate and exclude Facebook views.

Credit cost

Default: 1 credit

How charges are determined

Cost is decided per call, not per endpoint: the same operation can cost different amounts depending on what it returns.

A call that fails costs 0 credits. A result served from cache costs 0 credits.

`default` is the cost when no rule matches. Rules are evaluated in order and the first whose conditions all hold wins.

A `when` condition is one of: `param` (the request parameter is true), `outcome` (the classifier's outcome), `empty` / `nonEmpty` (a response field is empty and absent, or a non-empty array or string), `flag` (a response field is exactly true).

A cost of `{ perStartedMinute: n, of: [fields] }` is n x max(1, ceil(seconds / 60)), so even a short result bills at least one minute.

Cache supportUse a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.
PaginationNo explicit pagination metadata in the published contract. Consult the parameters and response fields below.

Parameters

NameLocation / requiredSchema
url

Instagram post or reel URL

query / required

string

region

Two-letter country code for the proxy location.

query / optional

string

trim

Set to true for a trimmed response.

query / optional

boolean

download_media

Set to true for permanent Supabase video/image URLs. Costs 10 credits if media is found, 1 credit otherwise.

query / optional

boolean

include_play_count

Set to false to omit video_play_count for a faster response. Defaults to true.

query / optional

boolean

cache_max_age

Use a cached response this old or newer for 0 credits. If none is available, fetch live at the endpoint’s normal price.

query / optional

string

Allowed values ["1d","3d","7d","14d","30d"]

Request examples

Replace placeholder values and supply your own API key. For operations with a request body, populate the body using the schema above.

cURL
curl --request GET 'https://api.fetchproof.com/v1/instagram/post?url=YOUR_URL' \
  --header 'x-api-key: YOUR_API_KEY'
JavaScript
const response = await fetch("https://api.fetchproof.com/v1/instagram/post?url=YOUR_URL", {
  method: 'GET',
  headers: { 'x-api-key': process.env.FETCHPROOF_API_KEY }
});
console.log(await response.text());
Python
import os
import requests

response = requests.get("https://api.fetchproof.com/v1/instagram/post?url=YOUR_URL",
    headers={"x-api-key": os.environ["FETCHPROOF_API_KEY"]})
print(response.text)

Responses

200Success. Envelope: success / credits_remaining / credits_charged.

application/json

object

successrequired

boolean

credits_remainingrequired

integer

credits_chargedrequired

integer

datarequired

object

xdt_shortcode_mediarequired

object

__typenamerequired

string

__isXDTGraphMediaInterfaceoptional

string

idrequired

string

shortcoderequired

string

thumbnail_srcrequired

string

dimensionsoptional

object

heightrequired

integer

widthrequired

integer

gating_infooptional

null

fact_check_overall_ratingoptional

null

fact_check_informationoptional

null

sensitivity_friction_infooptional

null

sharing_friction_infooptional

object

should_have_sharing_frictionrequired

boolean

bloks_app_urlrequired

null

media_overlay_infooptional

null

media_previewoptional

string

display_urlrequired

string

display_resourcesoptional

array

Array items

object

srcrequired

string

config_widthrequired

integer

config_heightrequired

integer

accessibility_captionrequired

null

has_audiorequired

boolean

video_urlrequired

string

video_view_countrequired

integer

video_play_countrequired

integer

encoding_statusoptional

null

is_publishedoptional

boolean

product_typerequired

string

titleoptional

string

video_durationrequired

number

clips_music_attribution_inforequired

object

artist_namerequired

string

song_namerequired

string

uses_original_audiorequired

boolean

should_mute_audiorequired

boolean

should_mute_audio_reasonrequired

string

audio_idrequired

string

is_videorequired

boolean

tracking_tokenoptional

string

upcoming_eventoptional

null

edge_media_to_tagged_useroptional

object

edgesrequired

array

ownerrequired

object

idrequired

string

usernamerequired

string

is_verifiedrequired

boolean

profile_pic_urlrequired

string

blocked_by_viewerrequired

boolean

restricted_by_viewerrequired

null

followed_by_viewerrequired

boolean

full_namerequired

string

has_blocked_viewerrequired

boolean

is_embeds_disabledrequired

boolean

is_privaterequired

boolean

is_unpublishedrequired

boolean

requested_by_viewerrequired

boolean

pass_tiering_recommendationrequired

boolean

edge_owner_to_timeline_mediarequired

object

countrequired

integer

edge_followed_byrequired

object

countrequired

integer

edge_media_to_captionrequired

object

edgesrequired

array

Array items

object

noderequired

object

created_atrequired

string

textrequired

string

idrequired

string

can_see_insights_as_brandoptional

boolean

caption_is_editedoptional

boolean

has_ranked_commentsoptional

boolean

like_and_view_counts_disabledoptional

boolean

edge_media_to_parent_commentrequired

object

countrequired

integer

page_inforequired

object

has_next_pagerequired

boolean

end_cursorrequired

string

edgesrequired

array

Array items

object

noderequired

object

idrequired

string

textrequired

string

created_atrequired

integer

did_report_as_spamrequired

boolean

ownerrequired

object

idrequired

string

is_verifiedrequired

boolean

profile_pic_urlrequired

string

usernamerequired

string

viewer_has_likedrequired

boolean

edge_liked_byrequired

object

countrequired

integer

is_restricted_pendingrequired

boolean

edge_threaded_commentsrequired

object

countrequired

integer

page_inforequired

object

has_next_pagerequired

boolean

end_cursorrequired

null

edgesrequired

array

edge_media_to_hoisted_commentoptional

object

edgesrequired

array

edge_media_preview_commentrequired

object

countrequired

integer

edgesrequired

array

Array items

object

noderequired

object

idrequired

string

textrequired

string

created_atrequired

integer

did_report_as_spamrequired

boolean

ownerrequired

object

idrequired

string

is_verifiedrequired

boolean

profile_pic_urlrequired

string

usernamerequired

string

viewer_has_likedrequired

boolean

edge_liked_byrequired

object

countrequired

integer

is_restricted_pendingrequired

boolean

comments_disabledoptional

boolean

commenting_disabled_for_vieweroptional

boolean

created_atoptional

string

{
  "format": "date-time"
}
taken_at_timestamprequired

integer

edge_media_preview_likerequired

object

countrequired

integer

edgesrequired

array

edge_media_to_sponsor_useroptional

object

edgesrequired

array

is_affiliaterequired

boolean

is_paid_partnershiprequired

boolean

locationrequired

null

nft_asset_infooptional

null

viewer_has_likedoptional

boolean

viewer_has_savedoptional

boolean

viewer_has_saved_to_collectionoptional

boolean

viewer_in_photo_of_youoptional

boolean

viewer_can_reshareoptional

boolean

is_adrequired

boolean

edge_web_media_to_related_mediaoptional

object

edgesrequired

array

coauthor_producersoptional

array

pinned_for_usersoptional

array

extensionsoptional

object

is_finalrequired

boolean

statusoptional

string

cachedoptional

boolean

cached_atoptional

string

{
  "format": "date-time"
}
401Invalid or missing x-api-key
402No credits remaining
403Upstream denied (age gate, audience controls)
404Resource or endpoint not found
429Rate limited