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: SearchFeaturesScoringRanking
  • 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_id and 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

QuestionStudio APIsFeed Deployment API
When do I use it?Building and iteratingDeploying to production
Custom filter logic?Yes — full controlNo — configured in your feed
Combine scoring signals?Yes — mix weights freelyPreset from your feed config
Semantic diversity?Full controlConfigured in your feed
Content typesFarcaster, Zora, PolymarketFarcaster, Zora
Integration effortBuild your pipelineOne endpoint, one feed_id