Bring your own data. Sharpen every ranking.
Push your items, users, and engagement events into Embed through the Data Sources API. They become searchable, rankable, and notifiable right next to everything we already index — and personalization gets sharper with every event you send.
Provision. Push. Personalize.
One request creates a data source under your account and provisions a managed ingestion stream — you get back an ID and an active status, not an infrastructure project.
Send items, users, and engagement events as JSON. IDs are namespaced by protocol, events can come from logged-in users or anonymous sessions, and rate-limit headers keep your pipeline honest.
Ingested data lands next to everything Embed already indexes. Search it, boost with it, and join it into feed and notification algorithms with one DSL call.
What you can send
Posts, articles, and media with tags, language, and publication type — everything the engine needs to rank your catalog alongside live onchain data.
Profiles from your app and their identities across social protocols, so algorithms can target exactly the users you serve.
Views, likes, comments, shares, and bookmarks — attributed to a user or an anonymous session. This is the signal that sharpens personalization over time.
Ingest with REST, use it in the DSL
Ingestion is plain JSON over REST. Once your data is in, every algorithm — feeds, search, notifications — can filter by your events and join against your audience.
Onchain history tells us what a wallet trades; your engagement events tell us what your users actually do in your app. Feed both in and every ranked surface — feeds, search, notifications — gets more relevant with use.
Ingested data is account-owned. Your items, users, and events power your algorithms — joined in with account-scoped filters, not mixed into anyone else’s results.
Your data is the moat. Use it.
Provision a data source in one call, push your first events today, and watch every ranked surface in your app get sharper.