Skip to main content
Home
Products
Free Tools
Industries
Compare
Resources
Pricing
Social

Social Media Post API: paste a link, get the numbers

Paste a post URL from any of 10 platforms and get back whether the post is live, its caption, author, and real like, comment, share and view counts, fetched live from the public post. 5 credits, only charged on a match.

5 credits per lookupOnly charged on a matchSame credits as every other product
1Lookup social post lookup API turning a post URL into likes, comments, shares, views and caption data across ten social platforms

5

Credits per match

~$0.018-0.025 per post

0

Credits on a miss

deleted post, no charge

10

Platforms, one endpoint

inferred from the URL

Seconds

First live fetch

instant repeats for 7 days

What Social Post Lookup gives you

One link in, real engagement out

Like, comment, share and view counts pulled live from the public post at lookup time, not from a database crawled last month. First lookups take a few seconds; repeats of the same URL within 7 days return instantly from cache.

  • Likes and comments
  • Shares and views
  • Fetched live, in seconds
  • Instant repeats for 7 days

Proof the post exists

The exists flag, the author's handle and display name, and the posted_at timestamp answer the three audit questions in one call: is it still live, did the right account post it, and did it go up when it was supposed to.

  • Exists yes/no
  • Author handle and name
  • ISO posted_at timestamp
  • Caption text for disclosure checks

10 platforms, one endpoint

Instagram, TikTok, YouTube, X (Twitter), Facebook, Threads, Bluesky, Truth Social, Pinterest and LinkedIn. The platform is inferred from the URL hostname, so the request is just the link, and every platform returns the same response shape.

  • Just send the URL
  • Platform read from the hostname
  • One response shape for all 10
  • Nulls where a platform hides a metric

Only charged on a match

If the URL does not resolve to a post, deleted, private, or never real, you pay nothing. In campaign audits the deleted post is often the finding, and catching it is free.

  • Zero credits on no match
  • Applies to bulk jobs too
  • Deleted posts still answer the question
  • Predictable cost on messy link lists

About two cents per post

5 credits per matched post works out to roughly $0.025 on the Starter plan and $0.018 on Growth. A 200-post campaign report costs about $3.50 to $5; a 1,000-post monitoring run costs about $18 to $25, and only the posts that resolve bill at all.

  • 5 credits per match
  • ~$0.018 per post on Growth
  • ~$0.025 per post on Starter
  • Misses are free

Bulk from a CSV

Upload a CSV with a single url column and every row runs through the same lookup at the same per-row price. Dead links bill zero, so a stale export only costs you for the posts that still exist.

  • One url column, that's it
  • Same 5 credits per matched row
  • Misses free in bulk too
  • Same fields as the API

Link in, numbers out

01

Send the post URL

POST the link exactly as it was shared with you. The platform is inferred from the hostname, so one request shape covers all 10 platforms.

request

$ POST /v1/social-post-lookup

"url": "https://www.instagram.com/p/Cx7Qw2ArLm9/"

> platform inferred from the hostname

02

We fetch the post live

First lookups fetch the public post live, typically a few seconds, up to a few minutes when a platform is slow. Repeats of the same URL within 7 days return instantly from cache.

processing

Platform inferred: instagram

Live public post fetched

Likes, comments, views counted

Reading caption and timestamp

03

Read the numbers

Engagement counts, caption, author and the posted_at timestamp land in one JSON payload. A live post bills 5 credits; a URL that resolves to nothing bills zero.

200 OK

existstrue

likes12,483

views209,150

posted in window5 credits on match

One endpoint. A post URL from any of 10 platforms in, structured data out.

Same authentication, same credit balance, and the same response envelope as every other 1Lookup product. If you have already integrated one endpoint, this one is a URL change.

POST /v1/social-post-lookup
curl -X POST https://app.1lookup.io/api/v1/social-post-lookup \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
        "url": "https://www.instagram.com/p/Cx7Qw2ArLm9/"
      }'
200 OK
{
  "classification": {
    "matched": true,
    "exists": true,
    "platform": "instagram",
    "author_handle": "maya.runs.far",
    "likes": 12483,
    "views": 209150
  },
  "insights": {
    "social_post_lookup_result": {
      "platform": "instagram",
      "url": "https://www.instagram.com/p/Cx7Qw2ArLm9/",
      "exists": true,
      "caption": "Fueled by @trailfuel.snacks on today's 20 miler #ad",
      "author_handle": "maya.runs.far",
      "author_name": "Maya | Marathon Training",
      "likes": 12483,
      "comments": 341,
      "shares": null,
      "views": 209150,
      "posted_at": "2026-08-05T14:22:09Z"
    }
  },
  "metadata": { "credits_used": 5, "cache_hit": false }
}

The post either has the numbers or it does not

Campaign wrap-up: the creator says the sponsored post ran and did big numbers. One lookup settles it. The post is live, went up August 5 inside the flight window, the caption carries the #ad tag, and it has 12,483 real likes and 209,150 views. A deleted post would have returned no match and billed zero credits.

api.1lookup.ioPost found
  • PlatformInstagram
  • URLinstagram.com/p/Cx7Qw2ArLm9
  • Existstrue
  • Author@maya.runs.far
  • Posted2026-08-05 14:22 UTC
  • Likes12,483
  • Comments341
  • Sharesnull (not public on Instagram)
  • Views209,150
  • Caption has #adyes
200 OK, 5 credits
{
  "classification": {
    "matched": true,
    "exists": true,
    "platform": "instagram",
    "author_handle": "maya.runs.far",
    "likes": 12483,
    "views": 209150
  },
  "insights": {
    "social_post_lookup_result": {
      "caption": "Fueled by @trailfuel.snacks on today's 20 miler #ad",
      "author_name": "Maya | Marathon Training",
      "shares": null,
      "posted_at": "2026-08-05T14:22:09Z"
    }
  },
  "metadata": { "credits_used": 5 }
}

Every field you get back

No hidden tiers. Every field below is returned on a successful lookup at the price shown above.

Post

  • platform
  • url
  • exists
  • posted_at

Author

  • author_handle
  • author_name

Engagement

  • likes
  • comments
  • shares
  • views

Content

  • caption

Who uses Social Post Lookup

Agencies verifying sponsored posts ran

Before the invoice clears, look up the link the creator submitted. You see the post is live, posted inside the campaign window, carrying the required #ad disclosure in the caption, with real engagement to hold against the rate card. A post deleted after the screenshot was taken returns no match and costs nothing to catch.

Marketing teams building reports

Month-end reporting means collecting numbers from 10 platforms with 10 logins. Instead, paste the post URLs, in bulk from a CSV if there are hundreds, and get one consistent set of like, comment, share and view counts to drop straight into the spreadsheet.

Brand and PR teams checking viral claims

Someone says a post about your brand blew up. Look it up before repeating the claim to a client or an exec: the real counts either back the story or they do not, and either answer takes one call instead of an argument.

Social listening and UGC platforms

Your product needs live engagement data across platforms, but building and maintaining 10 scrapers is a full-time job that breaks monthly. Feed post URLs to one endpoint, get one response shape back, and let us absorb the platform changes. UGC rights teams use the same call to confirm a post is still live before licensing it.

Frequently asked questions

What does Social Post Lookup return?

Give it the URL of a public post and it returns whether the post is live, the caption text, the author's handle and display name, like, comment, share and view counts, and the exact time it was posted. One call turns a pasted link into the numbers a report or a payout decision needs, on any of 10 platforms.

Which platforms are supported?

Ten: Instagram, TikTok, YouTube, X (Twitter), Facebook, Threads, Bluesky, Truth Social, Pinterest and LinkedIn. You do not tell us which one; the platform is read from the URL's hostname. Every platform returns the same response shape, so one integration covers all ten. Fields a platform does not expose publicly come back null, for example some platforms hide share counts.

Am I charged when the post is deleted or the URL is bad?

No. Social Post Lookup is success-billed: if the URL does not resolve to a post, because it was deleted, made private, or never existed, zero credits are deducted. That matters when you audit influencer campaigns, where a post quietly deleted a week after the payout is exactly what you are trying to catch, and finding it costs nothing.

How long does a lookup take?

A first lookup fetches the post live from the platform, so expect a few seconds, and up to a few minutes when a platform responds slowly. It is not sub-second like our phone and email products. Repeat lookups of the same URL within 7 days are served from cache and return instantly, which makes re-running a report fast.

What does it cost in dollars?

5 credits per matched post: about $0.025 on the Starter plan and $0.018 on Growth. Pulling engagement for a 200-post campaign report costs about $3.50 to $5, and any URLs that no longer resolve cost nothing. Credits come from the same balance as every other 1Lookup product, so there is no separate subscription to manage.

Why are some fields null?

Not every platform makes every metric public. Share counts are hidden on some platforms, and view counts are not exposed for every post type. When a platform does not expose a metric, the field comes back null rather than a guessed number. The response shape stays identical across all ten platforms, so your parsing code never changes; you just handle null.

Can I look up posts in bulk?

Yes. Upload a CSV with a single url column and every row is looked up at the same 5-credits-per-match price; there is no separate bulk tier. Rows that do not resolve to a live post cost nothing, so a messy export full of dead links only bills for the posts that still exist. Each row comes back with the same fields as the single API call.

How do I verify a sponsored post actually ran?

Take the link the creator sent when they claimed the deliverable and look it up. You get proof the post is live, the posted_at timestamp to check it went up inside the campaign window, the caption to confirm the required tag or #ad disclosure is there, and the real engagement counts to compare against what was promised. A deleted post returns no match and costs zero credits.

Start with Social Post Lookup today

7-day free trial. No contracts, cancel anytime, and your credits work across every product in the catalog.