InsightSocial API

Which endpoint should I use?

Side-by-side decision tables for the endpoints that look alike, with the credit price of each so you pick the one that returns what you need for the least.

Several endpoints overlap. Two of them may return the same account, one cheaply and one with extras, or the same comments as one page or as a whole thread. Picking the wrong one either costs more than it should or leaves you making a second call. Each section below takes one of those "these look the same" questions and puts the options next to each other with their prices.

Every price here comes from the live catalogue at GET https://api.insightsocial.app/v1/endpoints (free, no key needed). A few pricing rules to keep in mind while you read:

  • Fixed endpoints show one number, and that is the charge for a successful call.
  • Metered endpoints show a range. The top of the range is held when the call starts, and when it finishes you are charged what the call actually used, never more than the ceiling. Plan your balance around the top of the range.
  • Nothing found costs nothing. Failed calls, empty results and dry_run=1 calls are never charged. API credits are non-refundable, so this is how "you only pay for data" works: an unanswered call is simply never billed.
  • Repeats are charged. Calling the same endpoint again with the same parameters is a new call, because the data may have changed. A response served from the shared cache costs 2 credits. Store what you need to reuse.

See Credits for the full rules and Endpoint pricing for every price in one table.

Start here

What you are trying to doSection
Account numbers alone, or together with its latest postsProfile, or profile plus posts?
Pull Instagram data at the right priceInstagram: 10 credits or 50?
Page through posts or reels, with or without share countsA plain list, or the /full list?
Fill a Facebook list's missing fields in the same callFacebook: fill the rows, or fetch them?
Fetch only what is new since your last runOnly what is new
Find posts or accounts by keywordWhich search?
Get what was said in a videoGetting a transcript
Read the comments on a postWhich comment endpoint?
Track hiring and job postingsHiring and job postings
See what a brand runs as paid advertisingAd libraries

Profile, or profile plus posts?

profile returns the account and nothing else. profile/full returns the same account and its latest page of posts in one call, so you skip the follow-up list request.

profile/full is a beta endpoint, but its two main parts are typed: data.profile is a profile, and each data.posts[].post is a post, the same shapes profile and the posts list return. Anything else under data keeps the source's own structure under our naming rules (snake_case keys, string ids, ISO times where the source gives a timestamp) and may change. Under schema 2 it no longer carries computed metrics such as engagement rate or posting cadence; compute those from the posts it returns.

Your goalEndpointCredits
Just the account/v1/tiktok/profile, /v1/instagram/profile, /v1/twitter/profile, /v1/facebook/profile, /v1/youtube/channel10
Just the account, LinkedIn member/v1/linkedin/profile50
Account + recent posts (beta)/v1/tiktok/profile/full, /v1/instagram/profile/full, /v1/twitter/profile/full, /v1/facebook/profile/full, /v1/youtube/profile/full50
LinkedIn company + latest 10 posts (beta)/v1/linkedin/profile/full50

If you only need follower counts, use plain profile. When you fetch a profile and then always ask for its latest posts, profile/full replaces those two calls with one. On TikTok, for example, profile plus one page of profile/videos costs 20 credits, while profile/full is a flat 50 for the same profile and posts. Prefer the pair when cost matters; prefer profile/full when one round trip matters more.

How many posts one profile/full call reads depends on the platform's page size: 10 on TikTok, 12 on Instagram, up to 30 on YouTube, about 10 to 20 on X, 3 on Facebook and 10 on a LinkedIn company. To read further back, send pagination.next_cursor back to profile/full as cursor: each further page is another 50-credit call. Paging the platform's posts list (for example /v1/tiktok/profile/videos) is usually cheaper.

LinkedIn profile/full is a company endpoint

/v1/linkedin/profile/full takes a company page URL and replaces a /v1/linkedin/company plus /v1/linkedin/company/posts pair (100 credits) with one 50-credit call. For a person, use /v1/linkedin/profile.

The fields that get filled vary by platform. Check the platform's page under Platforms before you rely on one.

Instagram: 10 credits or 50?

Instagram endpoints come in two price bands. The 10-credit endpoints cover what a public profile page shows. The 50-credit (advanced) endpoints return what the public page does not: share counts, follower and following lists, stories, tagged posts, locations and comment lists.

Your goalEndpointCredits
Profile, one post/v1/instagram/profile, /v1/instagram/post10
A page of posts or reels/v1/instagram/profile/posts, /v1/instagram/profile/reels10–130, 10–140
Name and avatar from a numeric user id/v1/instagram/basic-profile10
A post's share count/v1/instagram/post/stats50–90
Followers or following/v1/instagram/followers, /v1/instagram/following50–100
Accounts similar to one you know/v1/instagram/similar50–850
Stories live right now/v1/instagram/stories50
Comments on a post/v1/instagram/post/comments50–150
Posts under a hashtag/v1/instagram/search/hashtag50

post versus post/stats

/v1/instagram/post (10 credits) returns everything about a post, including views on video, except the share count. Only reach for /v1/instagram/post/stats (50–90) when you specifically need shares.

A plain list, or the /full list?

For Instagram posts and reels, and for Facebook reels, there is a plain list and an enriched /full list. The plain list is one fast page. The /full list attaches views, likes, comments and a per-item share count where one can be found. The /full lists are beta: they keep the source's own structure rather than the typed post shape.

Your goalEndpointCredits
One page of a user's reels/v1/instagram/profile/reels10–140
Reels with per-reel share counts/v1/instagram/profile/reels/full50–250
One page of a user's posts/v1/instagram/profile/posts10–130
Posts with per-post share counts/v1/instagram/profile/posts/full50–250
Facebook reels with exact views, likes, comments and shares/v1/facebook/profile/reels/full50–250

Paging a long back catalogue when you do not need share counts is far cheaper on the plain list. Use /full when every item needs its engagement and you want it in one call.

What limit means depends on the endpoint

limit does three different jobs on this API. Read the endpoint's parameter description before you rely on one.

  • Collect until N. On /v1/instagram/profile/reels/full, /v1/instagram/profile/posts/full and /v1/facebook/profile/reels/full (1 to 50), and /v1/threads/search (1 to 100), limit tells the endpoint to keep walking pages on its own until it has that many items. Each page walked is billed, which is what moves these calls up their range. Leave limit off and you get one page.
  • Bigger single page. On /v1/tiktok/search, limit returns one bulk page of up to 120 videos (rounded up to a multiple of 30). On /v1/linkedin/search/posts it returns up to 200 posts in one call.
  • Keep the top N. On /v1/tiktok/search/users, /v1/pinterest/search, /v1/reddit/subreddits/search and /v1/instagram/similar, limit trims the page after the search has run. It is not a page size, and the next cursor still moves past the whole page.

Separately, twelve list endpoints take max_pages (1 to 5), which walks that many pages in one call. Each page is billed as one call, and the hold is multiplied by the page count before the call starts.

Facebook: fill the rows, or fetch them?

Four Facebook list endpoints take an optional include parameter that fills in every row on the page from that row's own detail record, in the same call. Without it, the call costs the bottom of its range. With it, you pay for the rows that were actually filled, which is why the price is a range.

Your goalCallCredits
A page's recent posts: text, reactions, comments, publish time/v1/facebook/profile/posts10 plain
The same posts with share counts, plus exact reel views and duration/v1/facebook/profile/posts?include=engagementup to 40
A page's photos with author, likes, comments, shares and publish date/v1/facebook/profile/photos?include=details10–90
A page's own events with description, address, hosts, cover and RSVP counts/v1/facebook/profile/events?include=details10–90
What is on in a city, with description, address and hosts/v1/facebook/events?include=details10–130

include=engagement is the right move when you are pulling the feed anyway. The alternative, one /v1/facebook/post call (10 credits) per permalink, costs about the same and takes a round trip per post. For reels specifically, /v1/facebook/profile/reels/full returns a page of reels with exact engagement on every one.

Only what is new

When you poll the same account on a schedule, most list endpoints can stop at what you already hold instead of returning it again.

ParameterWhat it does
sinceLeaves off posts published before a date (YYYY-MM-DD or ISO 8601). The page that reaches an older post ends the walk, and pagination.stopped_at is since.
stop_at_idPass the id or URL of the newest post you already have. The page stops just before it, and pagination.stopped_at is known_id.
recent_daysOn Facebook and Instagram lists, keeps only posts from the last N days.
max_age_daysOn search endpoints, keeps only rows published within N days. The filter runs after each page is fetched, so every page walked is still billed.

since and stop_at_id work on /v1/tiktok/profile/videos, /v1/instagram/profile/posts, /v1/instagram/profile/reels, /v1/twitter/user/tweets, /v1/facebook/profile/posts, /v1/youtube/channel/videos, /v1/youtube/channel/shorts and /v1/threads/user/posts. See Pagination.

Every platform has its own keyword search. Pick the one for the platform you care about, and run several in parallel when you want more than one.

Your goalEndpointCredits
TikTok videos by keyword/v1/tiktok/search10–370
TikTok's Top tab for a keyword/v1/tiktok/search/top10
YouTube videos, channels, playlists and Shorts/v1/youtube/search10–150
YouTube videos with date, license and country filters/v1/youtube/search/advanced10–110
X posts, with X search operators in the query/v1/twitter/search/tweets10–50
A written answer about X, with the posts it cites/v1/twitter/ai-search50
Reddit posts, site-wide/v1/reddit/search10–300
Reddit posts inside one subreddit/v1/reddit/subreddit/search10–260
Reddit threads with their top comments and a per-subreddit roll-up/v1/reddit/omni-search50–90
Threads posts/v1/threads/search10–340
Instagram reels/v1/instagram/search/reels10–650
Facebook posts/v1/facebook/search/posts10–50
LinkedIn posts and articles/v1/linkedin/search/posts10–480
Pinterest pins/v1/pinterest/search10–260

Search results are the platform's own matches. When your keyword is also a common word or someone else's brand, filter the rows on your side: check post.content.text for the terms that must appear and the ones that must not, and use post.language where the platform states one.

To find accounts rather than posts:

Your goalEndpointCredits
TikTok creators, with bio and region on every row/v1/tiktok/search/users?include=profile10–1,310
Threads accounts, with followers and bio/v1/threads/search/users?include=profile10–130
X accounts/v1/twitter/search/users10
Instagram profiles whose bio or captions match/v1/instagram/search/profiles10–250
Reddit communities, with activity and rules/v1/reddit/subreddits/search?include=details10–260
LinkedIn people/v1/linkedin/search/people100–500

An include=profile search replaces a user search plus one profile call per row. You pay per row actually filled.

/v1/reddit/subreddits/search is usually the step before the other Reddit searches: author.id on each row is the subreddit value the rest of the platform takes. /v1/reddit/omni-search is never the cheap option, because it runs the search and expands the top threads' comments in the same call. Choose it when you want what people are saying rather than a list of links. Its threads parameter (1 to 8) is what moves the price.

Getting a transcript

YouTube has two cheap options. Every other platform has one transcript endpoint at 100 credits.

Your goalEndpointCredits
YouTube caption files to download and parse yourself/v1/youtube/video/subtitles10
YouTube transcript as timed segments with language/v1/youtube/video/transcript30
TikTok video/v1/tiktok/post/transcript100
Instagram reel or video (up to 2 minutes)/v1/instagram/media/transcript100
Facebook video post/v1/facebook/post/transcript100
X video post/v1/twitter/tweet/transcript100
Reddit video post/v1/reddit/post/transcript100
LinkedIn video post/v1/linkedin/post/transcript100
Facebook Ad Library video ad/v1/facebook/adlibrary/ad/transcript100

On YouTube, take subtitles if you can parse caption files, and transcript if you want the words already split into segments. A video with no captions or no speech comes back as a 404 and is not charged. The Video transcription recipe wraps all of these in one function.

Which comment endpoint?

Each platform has a comment list, and a few have a way to look up one comment directly.

Your goalEndpointCredits
A page of comments on a TikTok video/v1/tiktok/post/comments10–30
A page of comments on a YouTube video/v1/youtube/video/comments10
Replies to a tweet/v1/twitter/tweet/replies10
Comments on a Facebook post/v1/facebook/post/comments10
Replies under a Threads post (one window, no cursor)/v1/threads/post/comments10–100
Comments on an Instagram post/v1/instagram/post/comments50–150
Top-level comments on a LinkedIn post/v1/linkedin/post/comments50
A Reddit post's whole comment tree, replies nested/v1/reddit/post/comments50
One thread of replies/v1/tiktok/video/comment/replies, /v1/instagram/post/comment/replies, /v1/youtube/video/comment/replies, /v1/facebook/post/comment/replies, /v1/linkedin/post/comments/replies10 (LinkedIn 50)
Re-check one known TikTok or Instagram comment/v1/tiktok/comment, /v1/instagram/comment20–60, 50–150

Comments come back as text with their counts, author and language where the platform states one. Classifying them (sentiment, questions, complaints) is up to you; the Sentiment analysis recipe shows one way.

/v1/reddit/post/comments costs more because it returns the whole discussion with nested replies expanded under each comment's replies, which replaces a paging loop you would otherwise write. /v1/tiktok/post/comments and /v1/instagram/post/comments take scan_pages to read several pages in one call.

TikTok and Instagram have no native "read one comment" route, so /v1/tiktok/comment and /v1/instagram/comment scan for the target and stop as soon as they find it. deep_scan=true widens the scan and is what reaches the top of each range. A comment that is not found is not charged.

Hiring and job postings

Job data lives on LinkedIn. The choice is a keyword search, one company's openings, or just the count.

Your goalEndpointIdentifierCredits
Postings by keyword/v1/linkedin/search/jobsquery100
Every opening at one company/v1/linkedin/company/jobscompany_id100
How many roles a company has open/v1/linkedin/company/job-countcompany_id50
One posting in full/v1/linkedin/jobid50

To track hiring across a set of competitors, poll company/job-count on a schedule and spend the 200 on company/jobs only when the count moves.

Resolve company_id once

LinkedIn company endpoints need a numeric company_id, and you cannot read it from the page URL. Get it from /v1/linkedin/company (50 credits) with the page url, then store it.

Ad libraries

Each network's ad library has a keyword door and an advertiser door. Use the keyword door when you only know a brand name. Use the advertiser door for a complete run once you have its id.

Your goalEndpointCredits
Meta ads matching a keyword/v1/facebook/adlibrary/search/ads50
Resolve a brand name to its Meta advertiser pages/v1/facebook/adlibrary/search/companies50
Every ad one Meta page is running/v1/facebook/adlibrary/company/ads50–350
One Meta ad in full/v1/facebook/adlibrary/ad50
What a Meta video ad says out loud/v1/facebook/adlibrary/ad/transcript100
LinkedIn ads by company, keyword or country/v1/linkedin/ads/search50
One LinkedIn ad in full/v1/linkedin/ad50
TikTok ads by keyword or advertiser name/v1/tiktok/adlibrary/search50–170
One TikTok ad in full/v1/tiktok/adlibrary/ad50
TikTok's leaderboard of top-performing ads for a market/v1/tiktok/ads/top100–1000

The Ad library aggregation recipe runs the three keyword doors in parallel for one brand.

Still unsure?

Ask the catalogue. GET https://api.insightsocial.app/v1/endpoints?platform=tiktok lists every TikTok endpoint with its description, parameters and price, and needs no key. To try a call before you write code, use the Playground in your dashboard.

On this page