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?
Know what limit does on a callWhat limit means
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/twitter/profile, /v1/youtube/channel10
Just the account, LinkedIn member/v1/linkedin/profile50
Account + recent posts (beta)/v1/tiktok/profile/full, /v1/twitter/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, up to 30 on YouTube, about 10 to 20 on X 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.

What limit means depends on the endpoint

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

  • 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, and /v1/reddit/subreddits/search, 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, eight search 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.

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.
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/twitter/user/tweets, /v1/youtube/channel/videos and /v1/youtube/channel/shorts. 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
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
X accounts/v1/twitter/search/users10
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
X video post/v1/twitter/tweet/transcript100
Reddit video post/v1/reddit/post/transcript100
LinkedIn video post/v1/linkedin/post/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
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/youtube/video/comment/replies, /v1/linkedin/post/comments/replies10 (LinkedIn 50)
Re-check one known TikTok comment/v1/tiktok/comment20–60

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 takes scan_pages to read several pages in one call.

TikTok has no native "read one comment" route, so /v1/tiktok/comment scans for the target and stops as soon as it finds it. deep_scan=true widens the scan and is what reaches the top of the 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 100 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
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

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