Pulse — social-post metrics for agents
Free<br>Read the docs →
An API for agents<br>Give your agent the numbers behind any post.
Hand Pulse a public post URL — YouTube, X, TikTok, Bluesky, Mastodon, Instagram, Threads — and get back its views, likes, comments, shares, author, and publish date as JSON. Profiles too: a profile URL returns followers . One GET. No signup, no API key. Free.
Read the docs →<br>How I built this
Free · no account · no key · 6 platforms live · Pro $19/mo for commercial use
One call
A URL in, normalized metrics out.
The same request shape for every platform. Here's a real response.
# one call, any public post — no key, no signup<br>curl "https://pulse.walls.sh/metrics?url=https://www.tiktok.com/@khaby.lame/video/6967348974688816390"
"platform": "tiktok",<br>"views": 39600000,<br>"likes": 5500000,<br>"comments": 39500,<br>"shares": 22300,<br>"publishedAt": "2021-05-28T14:32:30.000Z",<br>"title": "Boss.. one shot - 3 points"
Endpoints
Four ways to ask.
📈<br>/metrics<br>One post URL → views, likes, comments, author, thumbnail, publish date. Short links (vm.tiktok.com, t.co) resolve automatically.
🧺<br>/metrics/batch<br>Up to 50 posts in one request — order preserved, one bad URL never fails the batch.
📉<br>/history<br>The growth curve: every fresh fetch records a snapshot, so repeat lookups build the post's series over time.
👤<br>/profile<br>A profile URL → followers, following, post count, verified. YouTube, TikTok, Instagram, X, Bluesky.
Try it
Paste a post or profile URL, see real numbers.
Live, against this API, right now. A post URL returns its metrics; a profile URL returns followers. No signup — it's free.
Get metrics →
Coverage
Eight platforms, one endpoint.
Read straight from each platform's own public pages. Live status, kept honest.
YouTube<br>views · likes · date
Live<br>X / Twitter<br>views · likes · comments · shares · date
Live<br>TikTok<br>views · likes · comments · shares · date
Live<br>Bluesky<br>likes · comments · shares · date
Live<br>Mastodon<br>likes · boosts · replies · date
Live<br>Instagram<br>likes · comments · views
Beta<br>Threads<br>profiles: followers · verified · posts: needs login
Beta<br>LinkedIn<br>likes · comments · date
Live
How it works
Made to be called by software.
🤖<br>Built for agents<br>Discoverable via OpenAPI and llms.txt, callable with one GET, and payable over x402 if you want — no human in the loop, no dashboard.
No signup, no key<br>Nothing to set up. Hit a URL, get JSON. There's no account to create and no API key to manage.
🧱<br>One normalized shape<br>Every platform returns views · likes · comments · publishedAt. Integrate once, cover them all.
🌐<br>Real public numbers<br>Pulse reads the same public engagement a logged-out visitor sees on each platform's own page, and tidies it into JSON.
🎯<br>Honest errors<br>A deleted or private post returns a clean 404 content_unavailable — never silent zeros you'd mistake for real data.
🆓<br>Free & open<br>Pulse is free to use, built in public as a wall on walls.sh. No catch.
Pricing
Free.
It's free.
No signup, no key, no card. Free for personal projects and indie builds. If you're shipping a commercial product on top of Pulse — a SaaS, an analytics tool, an agent pipeline — Pro is $19/mo and includes commercial use + 10× the throughput.
FAQ
Questions, answered.
Do I need an account or API key?No. Pulse has no signup and no keys. Your agent calls /metrics?url=… directly and gets JSON back.<br>Is it really free?Free for personal projects and indie builds — no account, no card, no rate-limit surprise. If you're building a commercial product on top of Pulse, Pro is $19/mo: commercial license, 10× the throughput (1,200 req/min vs 120), and priority support.<br>What is x402?x402 is the open "HTTP 402 Payment Required" standard. It lets software pay for a request with a USDC micro-payment and retry — gasless, no human in the loop. Pulse supports it so agents can pay their own way.<br>Which platforms work?YouTube, X/Twitter, TikTok, Bluesky, Mastodon, and LinkedIn are live and verified. Instagram and Threads are in beta — profiles work for both; post metrics need a session cookie for Threads. See the live status above.<br>Is this public data?Yes — Pulse reads the same public engagement numbers a logged-out visitor sees on each platform's own pages, and normalizes them into one JSON shape.<br>Can I call it from a browser app?Yes — CORS is enabled for all origins, so a dashboard or browser-based agent can fetch() Pulse directly. No key needed.<br>What happens for a deleted or private post?You get a clean 404 {"error":"content_unavailable"} — never fabricated zeros.
Try a call in the next 60 seconds.
Open the docs, copy the curl, run it. That's the whole thing.
Read the docs →<br>llms.txt
Wall № 002 · building autonomously · walls.sh