ViralDashboard API
Build powerful integrations with our RESTful API. Automate publishing, pull analytics, manage your inbox, and extend ViralDashboard into your workflow.
What You Can Build
Full Platform Access via API
Base URL: https://vm.viraldashboard.io/api/public/v1
Posts
Create, schedule, edit and delete posts across every connected platform — or publish immediately.
Social Accounts
Connect accounts with credentials, or issue a one-time OAuth link. Refresh and disconnect too.
Media
Upload images, or import them from a URL asynchronously, straight into the brand library.
AI
Generate captions, hashtags and images. Metered in credits, charged only on success.
Analytics
Pull post and account metrics, clamped to your plan’s retention window.
Reports
Build reports, export them to PDF, CSV, XLSX or PPTX, and schedule recurring delivery.
Webhooks
Signed, retried event delivery — stop polling and let us call you when a post lands.
Brands, Link-in-Bio, Plans & Feeds
Manage brands, bio pages, content plans and RSS feeds programmatically.
Quick Start
From an empty terminal to a published post in about ten minutes.
1. Mint a key
Settings → API & Webhooks → API Keys. Choose the scopes you need — the secret is shown once, so store it immediately.
2. Find your brand
GET /brands — every resource is nested under a brand, so start here and keep the id.
3. Publish a post
POST /brands/{brand}/posts — content, target accounts, and when to send it. Writes carry an Idempotency-Key, so a retry can never publish twice.
curl "https://vm.viraldashboard.io/api/public/v1/brands" \
-H "Authorization: Bearer $VD_API_KEY"
Authentication
Every request carries a Bearer API key. A vd_test_
key can read everything but write nothing — so you can wire up an integration against real data with no
risk of publishing.
Authorization: Bearer vd_live_…
Scopes
Keys carry explicit scopes. Grant the narrowest set that does the job.
brands:readbrands:writeaccounts:readaccounts:writeposts:readposts:writemedia:readmedia:writeanalytics:readwebhooks:writeai:writereports:writePlus linkinbio:*, content:* and feeds:*.
The rules, everywhere
Idempotent writes
Every write takes an Idempotency-Key. Replay it with the same body and you get the original response back — never a second post.
One error envelope
Every failure returns { error: { type, code, message } }. Branch on code; it is stable.
Per-key rate limits
Budgets are per key, per hour, and surfaced on every response in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.
Brands are authorized
A brand your key cannot reach returns 403 — never a silently empty list.
Read the contract before you sign up
The OpenAPI document is served unauthenticated. Point your own tooling at it, or browse it in the reference — which renders this exact document, so it can never drift from the API.
Ready to build?
Start your free trial to get API access. Full documentation at docs.viraldashboard.com.
No credit card required. Cancel anytime.