Skip to main content

Overview

If you have your own product catalog or SKU list, you don’t need ChatAds to resolve affiliate URLs. Use extraction_mode=fast with resolution_mode=none to extract product mentions from text and handle resolution yourself. This is the fastest way to call the API — typical response times are under 50ms.
With extraction_mode=fast and resolution_mode=none, ChatAds extracts product keywords in under 50ms — making it fast enough to run on every message without impacting your bot’s response time.
DIY (Custom NLP/Regex)OpenAI / AnthropicChatAds
Build TimeWeeks to monthsMinutes with weeks of prompt tweakingMinutes
Avg Response TimesYou build it1-2s~50ms
Latency for Non-Product ResponsesDepends on your rulesSame 1-2s latency for large messages and conversational ones like “Yup, I agree”~30ms
AccuracyLow-Medium — hard to handle edge casesHigh — but overkill for extractionHigh — purpose-built for product mentions
CostsEngineering time + maintenance~0.5-2 cents per request (token costs)0.09 cents per request

How It Works

  1. You send the AI’s response text to ChatAds
  2. ChatAds extracts product mentions (e.g., “Bose QuietComfort Ultra earbuds”) using NLP
  3. You get back the extracted keyword — no URL lookup, no affiliate resolution
  4. You match the keyword against your own product catalog, SKU list, or affiliate network

Usage

Set extraction_mode to fast and resolution_mode to none:
curl -X POST 'https://api.getchatads.com/v1/chatads/messages' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
    "message": "The Bose QuietComfort Ultra earbuds are great for commuting. They have solid noise cancellation and a comfortable fit. Battery life is around six hours, which is enough for most people.",
    "extraction_mode": "fast",
    "resolution_mode": "none"
  }'

Response

With resolution_mode=none, offers come back with an empty url and no product metadata. The link_text is the extracted keyword you can use for your own lookup.
{
  "data": {
    "status": "filled",
    "offers": [
      {
        "link_text": "Bose QuietComfort Ultra earbuds",
        "url": ""
      }
    ],
    "requested": 1,
    "returned": 1,
    "billed": true
  },
  "error": null,
  "meta": {
    "request_id": "bda67e29-a38a-47e0-b459-40a38475cf91",
    "timestamp": "2026-03-08T21:51:25.935610743Z",
    "version": "1.0.0",
    "usage": {
      "monthly_requests": 15,
      "is_free_tier": false,
      "daily_requests": 4,
      "daily_limit": 10000
    }
  }
}

When to Use This

  • You have your own product catalog — match extracted keywords against your SKUs
  • You use a different affiliate network — resolve links through your own provider (CJ, ShareASale, Impact, etc.)
  • You need the lowest latency — extraction-only skips the resolution step entirely
  • You want to filter before resolving — extract first, then decide which products are worth resolving

Latency

ApproachTypical Latency
ChatAds (fast + none)< 50ms
ChatAds (standard + none)200-500ms
LLM-based extraction (e.g., OpenAI, Claude)1,000-2,000ms
Building product extraction with an LLM prompt (“extract product names from this text”) typically adds 1-2 seconds per request. ChatAds uses purpose-built NLP models instead of general-purpose LLMs, which is why fast mode runs 20-40x faster than an LLM call.

Next Steps