Which ❜embed API?
Welcome to the ❜embed Developer Hub.
Access decades of expertise in scalable, ML-powered personalization and moderation—productized into simple, modular APIs for app developers.
Integrate powerful AI models that predict the next on-chain or off-chain interactions.
To get started read on with the guides or use the TypeScript SDK right away.
Embed has two main integration paths. Start with the Studio APIs to build and iterate on your recommendation pipeline, then deploy it with a single endpoint when you're ready to ship.
Studio APIs
Start here. The Studio APIs give you full control over every stage of the recommendation pipeline.
- Four composable stages: Search → Features → Scoring → Ranking
- Write your own filter logic, choose scoring models, tune diversity and deduplication
- Access Elasticsearch indices for Farcaster, Zora, and Polymarket data
- Iterate until your feed is exactly right
SDK: mbd-studio-sdk (JavaScript)
import { StudioConfig, StudioV1 } from "mbd-studio-sdk"
const mbd = new StudioV1({ config: new StudioConfig({ apiKey }) });
const candidates = await mbd.search().index("polymarket-items").execute();Best for: Building and iterating on your recommendation logic. Prediction market apps, custom ranking experiments, multi-signal pipelines.
Feed Deployment API
Use this once you've built your feed. After you've iterated on your pipeline using the Studio APIs, save it as a feed configuration through the Embed Console or the Feed Management API. You'll get a feed_id that wraps your entire pipeline into a single call.
- One endpoint:
POST /v3/for-you - Pass a
feed_idand a user identifier, get back ranked results - All the logic you built in Studio (filters, scoring, diversity) runs behind the scenes
- Swap feeds or update logic in the console without changing your code
SDK: @embed-ai/sdk (TypeScript)
import { getClient } from "@embed-ai/sdk"
const client = getClient(process.env.API_KEY_EMBED!);
const feed = await client.feed.byUserId("16085", "feed_390", { top_k: 25 });Best for: Production apps shipping a finalized feed. Farcaster clients, Zora feeds, social apps that need a reliable, low-code integration.
The typical workflow
1. Build with Studio APIs → Experiment with filters, scoring, diversity
2. Save as a feed config → Get a feed_id from the Console or Feed Management API
3. Deploy with Feed SDK → One endpoint, one line of code
4. Iterate → Update the feed config anytime, no code changes
Decision table
| Question | Studio APIs | Feed Deployment API |
|---|---|---|
| When do I use it? | Building and iterating | Deploying to production |
| Custom filter logic? | Yes — full control | No — configured in your feed |
| Combine scoring signals? | Yes — mix weights freely | Preset from your feed config |
| Semantic diversity? | Full control | Configured in your feed |
| Content types | Farcaster, Zora, Polymarket | Farcaster, Zora |
| Integration effort | Build your pipeline | One endpoint, one feed_id |
Updated 4 days ago
