SocialData runs scheduled scrapers over Facebook, Instagram, TikTok and RSS sources, normalises every post into one schema, and serves it to your apps and agents over a Bearer-token REST API.
Paste a Facebook, Instagram or TikTok profile URL — or any RSS feed — pick an interval, and the pipeline keeps collecting on its own.
Create a projectRead the same normalised posts over HTTP with a project-scoped token — four GET endpoints, JSON out, no SDK to install.
See the endpointsGroup scraping targets into projects, one task per profile URL, and start any run yourself with Sync now.
Each task carries an interval in minutes; the pipeline picks up whatever is due and updates the next run time.
Use Organization or Project API Keys, or your Session JWT, to manage projects and tasks and read posts.
Every attempt is logged as queued, running, succeeded or failed — no silent retries.
Every payload is deduplicated per post and normalised into one typed shape per platform, ready to query or join.
Row-level security scopes data to your organisation, and API keys are stored as SHA-256 hashes only.
Four steps, the same ones the console walks you through.
A project groups scraping targets by brand, campaign, or whatever fits your workflow. It belongs to your organisation, so access follows your members and roles.
Name Brand monitoring Organisation Acme Members 3 · admin, admin, user Targets 0 so far
Paste a profile URL and pick the platform. Each platform's adapter validates the link first, so a malformed or unsupported URL never reaches the scraper.
Platform facebook URL facebook.com/your-page ✓ valid Interval every 1440 min Next run in 24 hours
Every due target is scraped, or run it now with Sync now, then reduced in three passes: the payload is kept as collected, deduplicated per post, then normalised into one typed shape per platform.
1 · collected 42 items, kept as returned 2 · deduplicated 38 new, 4 already seen 3 · normalised 38 posts, one schema Status queued → running → succeeded
Create an Organization or Project API Key, or use your Session JWT, to manage tasks and read posts over HTTP — same records the console shows, no SDK. The endpoint reference comes with your account.
Auth API Key or Session JWT (Bearer) Format JSON, newest first Per call up to 100 posts Fields id · text · engagement · media · time
Name Brand monitoring Organisation Acme Members 3 · admin, admin, user Targets 0 so far
Same collected posts, four different jobs.
Hand the latest captions and engagement for the accounts you track to a model as context. Collection runs on a schedule, so the answers stop being months out of date.
Point a BI tool at the collected posts and let it refresh itself — engagement over time, per account, per platform.
Track the accounts you care about at the interval you choose. New posts land in your project, so you diff periods instead of scrolling.
Runs append rather than overwrite, and a re-run never duplicates what was already collected. A post its author deleted is still in your record.
Isolation is enforced in the database, not in the UI layer.
Members join an organisation as super admin, admin or user, and every project belongs to that organisation.
Database policies scope reads to your own organisation — the web app queries with your session, not a shared key.
Tokens are SHA-256 hashed, tied to a single project, expire on a date you choose, and can be revoked instantly.
The payload as collected, the deduplicated history and the normalised posts are each kept separately, so any figure can be traced back.