Skip to main content

What is OpenAffiliate?

OpenAffiliate is an open registry of 750+ affiliate programs with structured data - commission rates, cookie durations, payout terms, categories, and more. It provides a public API, CLI, and MCP server. Combined with Kyma API, you can build content pipelines that generate reviews, comparisons, and social posts grounded in real affiliate data.

Try It Now

The fastest way to start is Content Lab - a ready-made tool that generates affiliate content using Kyma API and the OpenAffiliate registry.
  1. Go to openaffiliate.dev/lab
  2. Search and select a program
  3. Pick a content type (Top List, How-to Guide, Review, or Social Pack)
  4. Paste your Kyma API key and hit Generate
Content streams in real-time. Copy the markdown and publish.

Build Your Own Pipeline

Step 1: Fetch Program Data

OpenAffiliate’s API is public - no auth required.
// Get a single program
const program = await fetch(
  "https://openaffiliate.dev/api/programs/notion"
).then((r) => r.json());

console.log(program.name);             // "Notion"
console.log(program.commission.rate);   // "50%"
console.log(program.cookieDays);        // 90

// Search programs by category
const results = await fetch(
  "https://openaffiliate.dev/api/programs?category=Productivity"
).then((r) => r.json());

Step 2: Generate Content with Kyma API

Use the program data as context for content generation.
import OpenAI from "openai";

const kyma = new OpenAI({
  baseURL: "https://kymaapi.com/v1",
  apiKey: "ky-your-api-key",
});

// Build context from program data
const context = `
Product: ${program.name}
URL: ${program.url}
Category: ${program.category}
Commission: ${program.commission.rate} (${program.commission.type})
Cookie: ${program.cookieDays} days
Description: ${program.description}
`.trim();

const stream = await kyma.chat.completions.create({
  model: "deepseek-v3",
  stream: true,
  messages: [
    {
      role: "system",
      content: "You are an affiliate content expert. Use ONLY the provided product data. Do not fabricate statistics or features.",
    },
    {
      role: "user",
      content: `Write a product review based on this data:\n\n${context}`,
    },
  ],
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content ?? "");
}

Step 3: Batch Top Lists

Generate comparison articles by pulling multiple programs from the same category.
JavaScript
// Get top Productivity programs
const programs = await fetch(
  "https://openaffiliate.dev/api/programs?category=Productivity&limit=10"
).then((r) => r.json());

const listData = programs.map(
  (p) => `- **${p.name}** (${p.url}) — ${p.commission.rate} ${p.commission.type}, ${p.cookieDays}d cookie`
).join("\n");

const response = await kyma.chat.completions.create({
  model: "deepseek-v3",
  messages: [
    {
      role: "system",
      content: "Write a top 10 listicle with a comparison table. Use ONLY the data provided.",
    },
    {
      role: "user",
      content: `Write "Top 10 Best Productivity Tools for Affiliates":\n\n${listData}`,
    },
  ],
});

console.log(response.choices[0].message.content);

Model Recommendations

Use CaseModelWhy
Reviews & listiclesdeepseek-v3Best quality-to-cost ratio for long-form
Social media packsqwen-3.6-plusMost creative, best short-form prose
High-volume batchesllama-3.3-70bFastest inference speed
Structured output (JSON)deepseek-v3Reliable JSON mode

Cost Estimate

Content TypeTokens (in/out)Cost per piece
Product Review~800 / ~1,200~$0.005
Top 10 List~1,500 / ~2,000~$0.009
How-to Guide~600 / ~1,500~$0.005
Social Pack (4 platforms)~800 / ~2,000~$0.007
At 100 pieces/day with deepseek-v3: roughly $15-25/month.

OpenAffiliate Resources

Next Steps