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 / Anthropic | ChatAds |
|---|
| Build Time | Weeks to months | Minutes with weeks of prompt tweaking | Minutes |
| Avg Response Times | You build it | 1-2s | ~50ms |
| Latency for Non-Product Responses | Depends on your rules | Same 1-2s latency for large messages and conversational ones like “Yup, I agree” | ~30ms |
| Accuracy | Low-Medium — hard to handle edge cases | High — but overkill for extraction | High — purpose-built for product mentions |
| Costs | Engineering time + maintenance | ~0.5-2 cents per request (token costs) | 0.09 cents per request |
How It Works
- You send the AI’s response text to ChatAds
- ChatAds extracts product mentions (e.g., “Bose QuietComfort Ultra earbuds”) using NLP
- You get back the extracted keyword — no URL lookup, no affiliate resolution
- 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
| Approach | Typical 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