# Instagram Profile Reels Full API (https://www.socialcrawl.dev/platforms/instagram/profile-reels-full) > Returns a creator's recent reels with views, likes, comments, and the per-reel share count merged in wherever the upstream exposes it: in a single call. The standard /v1/instagram/profile/reels endpoint returns views/likes/comments but leaves engagement.shares null (its upstream has no per-post reshare count); this composite fans out to a second mobile source that carries the share number and merges it back onto each item by post id. Share coverage is best-effort and varies by account: the mobile source only exposes reshare_count for the items it returns, so some (sometimes most) items keep engagement.shares null. That null means "upstream doesn't expose it", not "zero". Read shares_coverage (the fraction of returned items that got a real share number) before relying on shares; legs[] shows each leg's status. Billing: the standard leg is critical (its failure refunds the full call); the shares leg is best-effort: if it fails OUTRIGHT the items still return with shares null and 4 of the 5 credits are refunded (you pay the standard 1-credit list price). A successful shares leg with low coverage is still the flat 5 credits, since the second source was queried regardless of how many items it happened to cover. Paginate with next_cursor. TL;DR: `GET /v1/instagram/profile/reels/full` costs 5 credits per upstream page of about 12 reels. With no `limit` that is one page and a flat 5 credits. With `limit` set the composite walks `ceil(limit / 12)` pages - 3 for limit=30, 5 for the 50 maximum, so 25 credits at the top - holds that many up front and refunds every page it did not need. One partial refund sits inside the per-page price: a shares leg that fails outright refunds 4 of the 5 credits for that page, leaving the 1-credit list price. A shares leg that succeeds with low coverage is still the full 5, because the second source was queried either way. A `user_id` call is priced exactly like a `handle` call and returns SocialCrawl's unified JSON schema. Single x-api-key auth, 100 free credits on signup. ## Parameters | Parameter | Required | Description | | --- | --- | --- | | `handle` | no | Instagram username (with or without a leading @). Required unless user_id is given. | | `user_id` | no | Numeric Instagram user id. Alternative to handle: the account's username is looked up from the id first, so a user_id call returns the same items, share counts and price as a handle call. An id that matches no account returns 404 and is not charged. | | `cursor` | no | Opaque cursor from a prior response's next_cursor to page deeper. | | `limit` | no | Return up to this many items in one call (1-50). The endpoint pages the underlying source server-side until it has collected this many (or runs out), and bills per upstream page consumed (5 credits/page). Omit for a single page. | ## Code example ```bash curl -G "https://www.socialcrawl.dev/v1/instagram/profile/reels/full" \ --data-urlencode "handle=sid.and.listen" \ -H "x-api-key: sc_YOUR_API_KEY" ``` ## FAQ ### How do I get a creator's reels with share counts in one call? Send a GET request to /v1/instagram/profile/reels/full with the handle or user_id. It returns the creator's recent reels with views, likes, comments, and the per-reel share count merged in, so you do not need a second call for shares. ### Why does the standard profile reels endpoint leave shares null? The standard /profile/reels list comes from a source that does not carry the share number, so engagement.shares is null there. This composite fans out to a second mobile source that has the share count and merges it by post id. ### What is shares_coverage and why is a share sometimes null? shares_coverage is the fraction of returned reels that came back with a real share number. Coverage is best effort and varies by account. A null share means the upstream did not expose it for that reel, not that the reel has zero shares. ### How does billing work if the shares leg fails? The ScrapeCreators list leg is the critical one. If the shares leg fails outright, the reels still return with shares null and the difference is refunded, so you pay only the standard 1 credit list price. Low coverage on a successful shares leg is still the flat 5 credits. ### How do I paginate and what does a call cost? Pass handle or user_id and paginate with the next_cursor returned in each response. A call costs 5 credits on the advanced tier. New accounts get 100 free credits with no card to test it. See the full Instagram API: https://www.socialcrawl.dev/platforms/instagram ## Pricing - Standard endpoints: 1 credit per call - Advanced endpoints: 5 credits per call - Premium endpoints: 10 credits per call - 100 free credits on signup, no credit card required. Cached responses cost 0 credits. Credit packs never expire. - Full pricing: https://www.socialcrawl.dev/pricing ## Explore with AI Questions this API answers, phrased for an AI assistant: - How to get Instagram reels with per-reel share counts in one call - Which API merges Instagram reel views likes comments and shares