List Instagram profile reels

List Reels from one specific Instagram profile by handle (not a keyword search — use instagram.search.reels.list for that; not trending — use…

GET/v1/instagram/profiles/{handle}/reels
x-api-keystringheader

API key (`sfk_...`)

Parameters
3
handlestringrequiredpath

Instagram handle whose reels should be listed.

min 1 chars · max 64 chars

cursorstringoptionalquery

Opaque pagination cursor from a previous response.

min 1 chars

hostMediabooleanoptional+2 / assetquery

When true, hosts source media for 90 days and returns delivery URLs in each reel's `hostedMedia`.

Response fields
47

Endpoint-specific response payload.

datalookupStatus
string

Whether reels could be listed for this handle.

one of: found, not_found

Instagram reels for the requested profile page.

datareels[]id
string

Instagram media id for this reel.

min 1 chars

datareels[]shortcode
string

Public shortcode used in the Instagram reel URL.

min 1 chars

datareels[]caption
stringnullable

Caption text when Instagram provides one.

datareels[]createdAt
string

When the reel was taken or posted (ISO-8601).

datareels[]url
string

Canonical public Instagram URL for this reel.

min 1 chars

datareels[]displayUrl
stringoptional

Source-platform CDN URL for the primary display image when available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. Omitted when no syntactically usable URL is available. For durable hosted copies on this list route, pass `hostMedia=true`.

datareels[]thumbnailUrl
stringoptional

Source-platform CDN URL for the thumbnail or cover image when available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. For durable hosted copies on this list route, pass `hostMedia=true`.

datareels[]videoUrl
stringoptional

Source-platform CDN URL for the video when a usable URL is available. It can expire or be rejected outside the original retrieval context; it is not a SocialFetch-hosted asset. For durable hosted copies on this list route, pass `hostMedia=true`.

datareels[]likeCount
integeroptional

Like count when Instagram exposes it.

≥ 0

datareels[]commentCount
integeroptional

Comment count when Instagram exposes it.

≥ 0

datareels[]playCount
integeroptional

Play or view count when Instagram exposes it (Instagram-only views when distinguishable).

≥ 0

Width and height when available.

datareels[]dimensionswidth
integer

Media width in pixels.

≥ 0

datareels[]dimensionsheight
integer

Media height in pixels.

≥ 0

Reel owner metadata when Instagram exposes it on the media item.

datareels[]ownerplatformUserId
stringoptional

Instagram numeric user id for the reel owner when present.

datareels[]ownerhandle
stringoptional

Instagram username for the reel owner when present.

datareels[]ownerdisplayName
stringoptional

Display name for the reel owner when present.

datareels[]owneravatarUrl
stringoptional

Profile image URL for the reel owner when present.

datareels[]ownerverified
booleanoptional

Whether Instagram marks the reel owner as verified.

Present only when `hostMedia=true`. Hosted copies and/or per-asset failures for this reel.

datareels[]hostedMedia[]status
string

Whether SocialFetch stored a durable copy of this asset.

one of: stored, failed

datareels[]hostedMedia[]type
string

Normalized media kind.

one of: image, video

datareels[]hostedMedia[]role
stringoptional

Which source field this asset was derived from.

one of: display, thumbnail, video

datareels[]hostedMedia[]originalUrl
stringoptional

Source-platform CDN URL that was requested for hosting. Still transient; prefer `url` when status is stored.

datareels[]hostedMedia[]url
stringoptional

Time-limited SocialFetch delivery URL when status is stored. Re-request hostMedia (or a future refresh route) before this expires if you still need access; object retention may outlive the delivery URL.

datareels[]hostedMedia[]expiresAt
stringoptional

ISO-8601 timestamp when the returned delivery URL stops working.

datareels[]hostedMedia[]retainedUntil
stringoptional

ISO-8601 timestamp when the stored object is deleted from SocialFetch storage (90-day tier).

datareels[]hostedMedia[]mime
stringoptional

MIME type of the stored bytes when status is stored.

min 1 chars

datareels[]hostedMedia[]bytes
integeroptional

Stored size in bytes when status is stored.

≥ 0

datareels[]hostedMedia[]width
integernullableoptional

Pixel width when known.

≥ 0

datareels[]hostedMedia[]height
integernullableoptional

Pixel height when known.

≥ 0

datareels[]hostedMedia[]entityId
stringoptional

Opaque parent entity id for this asset (post, reel, photo, or video id).

min 1 chars

datareels[]hostedMedia[]postId
stringoptional

Legacy Instagram media id alias for `entityId`. Prefer `entityId`.

min 1 chars

datareels[]hostedMedia[]errorCode
stringoptional

Typed failure code when status is failed.

min 1 chars

datareels[]hostedMedia[]errorMessage
stringoptional

Short customer-safe failure message when status is failed.

min 1 chars

Pagination state for the current response.

datapagenextCursor
stringnullable

Cursor to pass as `cursor` in the next request when more reels are available.

datapagehasMore
boolean

Whether another page of reels is available from Instagram.

Metadata describing the request and billing outcome.

metarequestId
string

Unique request identifier for tracing this API call.

min 1 chars

metacreditsCharged
integer

Credits charged for this request.

≥ 0

metaversion
string

Public API version that served the response.

one of: v1

metacached
booleanoptional

True when served from shared response cache. Credits still apply (full endpoint price); Age header may be present.

Code example

curl "https://api.socialfetch.dev/v1/instagram/profiles/charlidamelio/reels" \
  -H "x-api-key: YOUR_API_KEY"

Responses

Instagram reels for the requested profile.