Data Tools
More search and data tools, each one simple to call. They run like every other Chab tool: start one with a POST (or chab_operation_start over MCP), then read the result. Add ?wait=20 to the start to get the result in the same reply. Tools that say they take about a minute finish in the background: check the operation again after a minute.
This page is generated from the tool definitions, so the fields, prices and examples below are exactly what the API accepts.
| Tool | Operation key | Endpoint |
|---|---|---|
| Google News | search.news |
POST /v1/search/news |
| Google Images | search.images |
POST /v1/search/images |
| Google search suggestions | search.autocomplete |
POST /v1/search/autocomplete |
| Google AI Mode | search.ai_mode |
POST /v1/search/ai_mode |
| YouTube search | search.youtube |
POST /v1/search/youtube |
| Keywords for a website | seo.keywords.for_site |
POST /v1/seo/keywords/for_site |
| Competitors of a website | seo.domains.competitors |
POST /v1/seo/domains/competitors |
| Keyword overlap of two websites | seo.domains.overlap |
POST /v1/seo/domains/overlap |
| Top pages of a website | seo.domains.pages |
POST /v1/seo/domains/pages |
| Backlink history | seo.domains.backlink_history |
POST /v1/seo/domains/backlink_history |
| YouTube video details | search.youtube_video |
POST /v1/search/youtube_video |
| YouTube transcript | search.youtube_transcript |
POST /v1/search/youtube_transcript |
| YouTube comments | search.youtube_comments |
POST /v1/search/youtube_comments |
| Keyword trends | seo.keywords.trends |
POST /v1/seo/keywords/trends |
| Technologies a website uses | seo.domains.technologies |
POST /v1/seo/domains/technologies |
| Page speed test | seo.pages.speed |
POST /v1/seo/pages/speed |
| Websites that use a technology | seo.domains.by_technology |
POST /v1/seo/domains/by_technology |
| Brand mentions on the web | seo.mentions |
POST /v1/seo/mentions |
| Domain registration (WHOIS) | seo.domains.whois |
POST /v1/seo/domains/whois |
| Google reviews of a business | business.reviews |
POST /v1/business/reviews |
Prices
| Tool | Price | Free credits |
|---|---|---|
| Google News | 2 credits per started 10 results | Yes |
| Google Images | 2 credits | Yes |
| Google search suggestions | 2 credits | Yes |
| Google AI Mode | 4 credits | Yes |
| YouTube search | 2 credits per started 20 results | Yes |
| Keywords for a website | 10 credits plus 1 credit per started 10 rows | Yes |
| Competitors of a website | 10 credits plus 1 credit per started 10 rows | Yes |
| Keyword overlap of two websites | 10 credits plus 1 credit per started 10 rows | Yes |
| Top pages of a website | 10 credits plus 1 credit per started 10 rows | Yes |
| Backlink history | 20 credits | Yes |
| YouTube video details | 5 credits | Yes |
| YouTube transcript | 5 credits | Yes |
| YouTube comments | 2 credits per started 20 results | Yes |
| Keyword trends | 1 credit with data_source standard, 9 credits with data_source google_trends | Yes |
| Technologies a website uses | 10 credits | Yes |
| Page speed test | 5 credits | Yes |
| Websites that use a technology | 10 credits plus 1 credit per started 1 rows | Yes |
| Brand mentions on the web | 20 credits plus 1 credit per started 25 rows | Yes |
| Domain registration (WHOIS) | 98 credits | No, needs a plan or bought credits |
| Google reviews of a business | 3 credits per started 20 results | Yes |
The price is reserved when the tool starts and charged when it succeeds. A failed call costs nothing.
POST/v1/search/news
Google News. Searches Google News in any country and language and returns the articles with their publisher, headline, snippet and publication time. Good for keeping an eye on a topic, a company or a competitor, with real dates instead of whatever a chat model remembers.
Operation key search.news, scope api:search:read, price: 2 credits per started 10 results.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | What to search Google News for. |
location |
object | Yes | Country (two letters), optionally narrowed to a city: results as people there see them. |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
limit |
integer | No | Up to 100 articles. From 1 to 100. Default 10. |
{
"query": "electric vehicles",
"location": {
"country": "US"
},
"language": "en-US",
"limit": 10
}
curl -X POST https://www.chab.ai/v1/search/news \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-news-001" \
-d '{"query":"electric vehicles","location":{"country":"US"},"language":"en-US","limit":10}'
Result
{
"query": "electric vehicles",
"location": {
"country": "US"
},
"language": "en-US",
"results": [
{
"position": 1,
"title": "Congress considers new $130 annual fee for electric vehicles",
"url": "https://www.example-news.com/2026/11/12/ev-annual-fee",
"source": "example-news.com",
"snippet": "EV owners could soon pay a $130 annual federal fee to help fund roads.",
"published_at": "2026-11-12T13:07:28+00:00",
"published": "22 hours ago"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/images
Google Images. Searches Google Images and returns each image with its title, the page it sits on and the site that published it, plus the related searches Google suggests. Useful for finding visuals, checking where a product photo appears, or seeing which sites own the images for a topic.
Operation key search.images, scope api:search:read, price: 2 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | What to search Google Images for. |
location |
object | Yes | Country (two letters), optionally narrowed to a city: results as people there see them. |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
limit |
integer | No | Up to 100 images. From 1 to 100. Default 20. |
{
"query": "mid century modern living room",
"location": {
"country": "US"
},
"language": "en-US",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/search/images \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-images-001" \
-d '{"query":"mid century modern living room","location":{"country":"US"},"language":"en-US","limit":20}'
Result
{
"query": "mid century modern living room",
"location": {
"country": "US"
},
"language": "en-US",
"results": [
{
"position": 1,
"title": "45+ Chic Midcentury Modern Living Room Ideas for 2025",
"alt": "45+ Chic Midcentury Modern Living Room Ideas for 2025",
"source": "House Beautiful",
"page_url": "https://www.housebeautiful.com/room-decorating/living-family-rooms/g60454506/midcentury-modern-living-room-ideas/",
"image_url": "https://hips.hearstapps.com/hmg-prod/images/hbx090119phillipm-007-6616d98ab5881.jpg",
"thumbnail_url": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSrpHdbl_L0lLz1g0EZjokczQtWaKJ6KljuzW5llc2uxQ&s=10"
}
],
"related_searches": [
"cozy mid century modern living room",
"retro vintage mid century living room"
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/autocomplete
Google search suggestions. Returns the suggestions Google shows while someone types, for any country and language. These are the questions and phrases real people search for, which makes them a quick source of content ideas, product names and the words customers actually use.
Operation key search.autocomplete, scope api:search:read, price: 2 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | The start of a search, for example "best running shoes for". |
location |
object | Yes | Country (two letters), optionally narrowed to a city: results as people there see them. |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
{
"query": "best running shoes for",
"location": {
"country": "US"
},
"language": "en-US"
}
curl -X POST https://www.chab.ai/v1/search/autocomplete \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-autocomplete-001" \
-d '{"query":"best running shoes for","location":{"country":"US"},"language":"en-US"}'
Result
{
"query": "best running shoes for",
"location": {
"country": "US"
},
"language": "en-US",
"suggestions": [
{
"position": 1,
"text": "best running shoes for men"
},
{
"position": 2,
"text": "best running shoes for women"
},
{
"position": 3,
"text": "best running shoes for flat feet"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/ai_mode
Google AI Mode. Asks Google's AI Mode a question as people in a given country see it and returns the full answer as Markdown together with every source it cites. Use it to see what Google tells people about your brand, product or topic, and which sites it trusts for that answer.
Operation key search.ai_mode, scope api:search:read, price: 4 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | The question to ask Google AI Mode. |
location |
object | Yes | Country (two letters), optionally narrowed to a city: results as people there see them. |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
{
"query": "which espresso machine is best for beginners",
"location": {
"country": "US"
},
"language": "en-US"
}
curl -X POST https://www.chab.ai/v1/search/ai_mode \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-ai-mode-001" \
-d '{"query":"which espresso machine is best for beginners","location":{"country":"US"},"language":"en-US"}'
Result
{
"query": "which espresso machine is best for beginners",
"location": {
"country": "US"
},
"language": "en-US",
"answered": true,
"answer": "The best espresso machine for a beginner depends on how much manual control you want: the **Breville Bambino Plus** is the top pick for effortless milk drinks...",
"sources": [
{
"title": "Bambino Plus",
"url": "https://www.breville.com/en-us/product/bes500",
"domain": "breville.com",
"source": "Breville",
"snippet": "Experience third wave specialty coffee at home."
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/youtube
YouTube search. Searches YouTube as people in a given country see it and returns each video with its channel, view count, length and publication date. Handy for finding the best explainer on a topic, checking who ranks on YouTube for your keywords, or sizing up a creator.
Operation key search.youtube, scope api:search:read, price: 2 credits per started 20 results.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | What to search YouTube for. |
location |
object | Yes | Country (two letters). |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
limit |
integer | No | Up to 100 results. From 1 to 100. Default 20. |
{
"query": "laravel queues tutorial",
"location": {
"country": "US"
},
"language": "en-US",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/search/youtube \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-youtube-001" \
-d '{"query":"laravel queues tutorial","location":{"country":"US"},"language":"en-US","limit":20}'
Result
{
"query": "laravel queues tutorial",
"location": {
"country": "US"
},
"language": "en-US",
"results": [
{
"position": 1,
"type": "video",
"title": "Queues in Laravel: Main Things You Need to Know (Two Examples)",
"url": "https://www.youtube.com/watch?v=D5tr7r2_i7E",
"video_id": "D5tr7r2_i7E",
"channel": {
"name": "Laravel Daily",
"url": "https://www.youtube.com/@LaravelDaily"
},
"description": "\"Overview\" of this big topic in 12 minutes.",
"views": 38384,
"published_at": "2025-11-13T11:08:37+00:00",
"duration_seconds": 738,
"is_live": false,
"is_short": false
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/keywords/for_site
Keywords for a website. Reads what a website is about and lists the Google keywords that match it, with monthly search volume, cost per click, difficulty and search intent. A quick way to find what to write about or bid on for a site, including keywords it does not rank for yet.
Operation key seo.keywords.for_site, scope api:seo:read, price: 10 credits plus 1 credit per started 10 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
location |
object | Yes | Country (two letters) of the Google ranking data. Not every country has it; an unsupported one returns the list of those that do. |
language |
string | No | Language as a BCP 47 tag, for example en or de. Default: the country's main language. A language without data in that country returns the ones that have it. |
sort |
string | No | relevance: the keywords closest to what the site is about first. search_volume: the most searched first, which favours broad keywords. One of relevance, search_volume. Default "relevance". |
limit |
integer | No | Up to 1,000 keywords. From 1 to 1000. Default 100. |
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"sort": "relevance",
"limit": 100
}
curl -X POST https://www.chab.ai/v1/seo/keywords/for_site \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-keywords-for-site-001" \
-d '{"domain":"lovable.dev","location":{"country":"US"},"language":"en","sort":"relevance","limit":100}'
Result
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"sort": "relevance",
"total": 195052,
"keywords": [
{
"keyword": "chatgpt website builder",
"search_volume": 320,
"cpc": 6.12,
"keyword_difficulty": 21,
"search_intent": "commercial"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/competitors
Competitors of a website. Finds the sites that rank for the same Google keywords as a website, with how many keywords they share, their average position and their estimated search traffic. The biggest platforms such as YouTube and Reddit are left out, so the list shows real competitors.
Operation key seo.domains.competitors, scope api:seo:read, price: 10 credits plus 1 credit per started 10 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
location |
object | Yes | Country (two letters) of the Google ranking data. Not every country has it; an unsupported one returns the list of those that do. |
language |
string | No | Language as a BCP 47 tag, for example en or de. Default: the country's main language. A language without data in that country returns the ones that have it. |
limit |
integer | No | Up to 1,000 competitors. From 1 to 1000. Default 20. |
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/seo/domains/competitors \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-competitors-001" \
-d '{"domain":"lovable.dev","location":{"country":"US"},"language":"en","limit":20}'
Result
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"competitors": [
{
"domain": "wix.com",
"shared_keywords": 2055,
"avg_position": 18.4,
"estimated_traffic": 30416512,
"keywords": 1630884
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/overlap
Keyword overlap of two websites. Compares the Google rankings of a website and a competitor. Ask for the keywords both rank for, the keywords only the competitor ranks for (your content gap) or the ones only the website ranks for, with search volume and each site's position and page.
Operation key seo.domains.overlap, scope api:seo:read, price: 10 credits plus 1 credit per started 10 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
competitor |
string | Yes | The website to compare it with. |
show |
string | No | shared: keywords both rank for. competitor_only: keywords the competitor ranks for and the website does not, the content gap. domain_only: the other way round. One of shared, competitor_only, domain_only. Default "shared". |
location |
object | Yes | Country (two letters) of the Google ranking data. Not every country has it; an unsupported one returns the list of those that do. |
language |
string | No | Language as a BCP 47 tag, for example en or de. Default: the country's main language. A language without data in that country returns the ones that have it. |
limit |
integer | No | Up to 1,000 keywords. From 1 to 1000. Default 100. |
{
"domain": "lovable.dev",
"competitor": "bolt.new",
"show": "shared",
"location": {
"country": "US"
},
"language": "en",
"limit": 100
}
curl -X POST https://www.chab.ai/v1/seo/domains/overlap \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-overlap-001" \
-d '{"domain":"lovable.dev","competitor":"bolt.new","show":"shared","location":{"country":"US"},"language":"en","limit":100}'
Result
{
"domain": "lovable.dev",
"competitor": "bolt.new",
"show": "shared",
"location": {
"country": "US"
},
"language": "en",
"keywords": [
{
"keyword": "bolt ai",
"search_volume": 6600,
"cpc": 5.87,
"keyword_difficulty": 42,
"search_intent": "transactional",
"domain_ranking": {
"position": 5,
"url": "https://lovable.dev/videos/bolt%20ai"
},
"competitor_ranking": {
"position": 1,
"url": "https://bolt.new/"
}
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/pages
Top pages of a website. Lists the pages of a website by estimated Google search traffic, with how many keywords each page ranks for and how many of them in the top 3 and top 10. Shows at a glance which content works for a site, yours or a competitor's.
Operation key seo.domains.pages, scope api:seo:read, price: 10 credits plus 1 credit per started 10 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
location |
object | Yes | Country (two letters) of the Google ranking data. Not every country has it; an unsupported one returns the list of those that do. |
language |
string | No | Language as a BCP 47 tag, for example en or de. Default: the country's main language. A language without data in that country returns the ones that have it. |
limit |
integer | No | Up to 1,000 pages. From 1 to 1000. Default 20. |
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/seo/domains/pages \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-pages-001" \
-d '{"domain":"lovable.dev","location":{"country":"US"},"language":"en","limit":20}'
Result
{
"domain": "lovable.dev",
"location": {
"country": "US"
},
"language": "en",
"pages": [
{
"url": "https://lovable.dev/guides/best-photo-editing-apps-iphone-android-2026",
"estimated_traffic": 53,
"keywords": 407,
"top_3": 0,
"top_10": 8,
"traffic_value": 323
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/backlink_history
Backlink history. Shows a website's backlinks, referring domains and authority rank for every month, with the links it gained and lost. Useful to spot a link campaign, a penalty or a site move that lost links.
Operation key seo.domains.backlink_history, scope api:seo:read, price: 20 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
months |
integer | No | Months of history, up to 24. From 1 to 24. Default 12. |
{
"domain": "lovable.dev",
"months": 12
}
curl -X POST https://www.chab.ai/v1/seo/domains/backlink_history \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-backlink-history-001" \
-d '{"domain":"lovable.dev","months":12}'
Result
{
"domain": "lovable.dev",
"months": 12,
"history": [
{
"month": "2025-11",
"rank": 562,
"backlinks": 166055,
"referring_domains": 11943,
"new_backlinks": 28822,
"lost_backlinks": 48431,
"new_referring_domains": 1187,
"lost_referring_domains": 111
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/youtube_video
YouTube video details. Returns the details of a YouTube video from its link: title, full description, views, likes, comment count, length, publication date, category, the channel with its subscriber count, and which subtitle languages exist. Use it to size up a video before you quote it, or to compare a few.
Operation key search.youtube_video, scope api:search:read, price: 5 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
video |
string | Yes | The video: a YouTube link or its ID, for example D5tr7r2_i7E. |
location |
object | No | Country (two letters) whose YouTube to use. Default US. Default {"country":"US"}. |
language |
string | No | Language of the YouTube interface as a BCP 47 tag. Default en-US. Default "en-US". |
{
"video": "https://www.youtube.com/watch?v=D5tr7r2_i7E"
}
curl -X POST https://www.chab.ai/v1/search/youtube_video \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-youtube-video-001" \
-d '{"video":"https://www.youtube.com/watch?v=D5tr7r2_i7E"}'
Result
{
"video": "D5tr7r2_i7E",
"location": {
"country": "US"
},
"language": "en-US",
"details": {
"title": "Queues in Laravel: Main Things You Need to Know (Two Examples)",
"url": "https://www.youtube.com/watch?v=D5tr7r2_i7E",
"channel": {
"name": "Laravel Daily",
"url": "https://www.youtube.com/channel/UCTuplgOBi6tJIlesIboymGA",
"subscribers": 161000
},
"description": "\"Overview\" of this big topic in 12 minutes.",
"views": 38384,
"likes": 1188,
"comments": 86,
"published_at": "2025-04-15T05:00:21+00:00",
"duration_seconds": 738,
"category": "Howto & Style",
"is_live": false,
"thumbnail_url": "https://i.ytimg.com/vi/D5tr7r2_i7E/maxresdefault.jpg",
"subtitles": [
{
"language": "en",
"auto_generated": true
}
]
},
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/youtube_transcript
YouTube transcript. Returns what is said in a YouTube video as text, line by line with start and end times, plus the whole transcript in one piece. Optionally translated into another language. Lets an agent summarise, quote or search a video without watching it.
Operation key search.youtube_transcript, scope api:search:read, price: 5 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
video |
string | Yes | The video: a YouTube link or its ID, for example D5tr7r2_i7E. |
translate_to |
string | No | Optional: translate the transcript into this language, for example de, es, fil or zh-Hans. |
location |
object | No | Country (two letters) whose YouTube to use. Default US. Default {"country":"US"}. |
language |
string | No | Language of the YouTube interface as a BCP 47 tag. Default en-US. Default "en-US". |
{
"video": "D5tr7r2_i7E"
}
curl -X POST https://www.chab.ai/v1/search/youtube_transcript \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-youtube-transcript-001" \
-d '{"video":"D5tr7r2_i7E"}'
Result
{
"video": "D5tr7r2_i7E",
"location": {
"country": "US"
},
"language": "en-US",
"title": "Queues in Laravel: Main Things You Need to Know (Two Examples)",
"transcript_language": "en",
"text": "Hello guys, today let's talk about queues in Laravel...",
"segments": [
{
"start": 0.08,
"end": 3.36,
"text": "Hello guys, today let's talk about"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/search/youtube_comments
YouTube comments. Returns the comments people left on a YouTube video, with the author, likes, reply count and date. A direct line to what an audience thinks: questions they ask, complaints, praise and ideas for the next video or product.
Operation key search.youtube_comments, scope api:search:read, price: 2 credits per started 20 results.
Request
| Field | Type | Required | Description |
|---|---|---|---|
video |
string | Yes | The video: a YouTube link or its ID, for example D5tr7r2_i7E. |
limit |
integer | No | Up to 100 comments. From 1 to 100. Default 20. |
location |
object | No | Country (two letters) whose YouTube to use. Default US. Default {"country":"US"}. |
language |
string | No | Language of the YouTube interface as a BCP 47 tag. Default en-US. Default "en-US". |
{
"video": "D5tr7r2_i7E",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/search/youtube_comments \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: search-youtube-comments-001" \
-d '{"video":"D5tr7r2_i7E","limit":20}'
Result
{
"video": "D5tr7r2_i7E",
"location": {
"country": "US"
},
"language": "en-US",
"total_comments": 86,
"comments": [
{
"author": "@DavidMachiavello",
"author_url": "https://www.youtube.com/@DavidMachiavello",
"text": "And just a warning for anyone using Redis Cluster for queues...",
"likes": 24,
"replies": 0,
"published_at": "2025-11-13T12:03:26+00:00"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/keywords/trends
Keyword trends. Shows week by week how much people searched for up to five keywords, on one scale from 0 to 100 so they compare directly, for web, news or shopping searches, worldwide or in one country. The standard source answers in about two seconds; Google Trends itself takes about half a minute. Good for spotting seasons, rising topics and which of two names people use.
Operation key seo.keywords.trends, scope api:seo:read, price: 1 credit with data_source standard, 9 credits with data_source google_trends.
Request
| Field | Type | Required | Description |
|---|---|---|---|
keywords |
array of strings | Yes | One to five keywords to compare, each at least 2 characters and without commas. Up to 5. |
data_source |
string | No | standard: fast estimates from search data. google_trends: Google Trends itself, about 30 seconds. One of standard, google_trends. Default "standard". |
location |
object | No | Country (two letters). Without it: worldwide. |
type |
string | No | Which searches: web, news or shopping. One of web, news, ecommerce. Default "web". |
time_range |
string | No | How far back. One of past_7_days, past_30_days, past_90_days, past_12_months, past_5_years. Default "past_12_months". |
{
"keywords": [
"cursor ai",
"lovable"
],
"data_source": "standard",
"location": {
"country": "US"
},
"type": "web",
"time_range": "past_12_months"
}
curl -X POST https://www.chab.ai/v1/seo/keywords/trends \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-keywords-trends-001" \
-d '{"keywords":["cursor ai","lovable"],"data_source":"standard","location":{"country":"US"},"type":"web","time_range":"past_12_months"}'
Result
{
"keywords": [
"cursor ai",
"lovable"
],
"data_source": "standard",
"location": {
"country": "US"
},
"type": "web",
"time_range": "past_12_months",
"averages": {
"cursor ai": 31,
"lovable": 60
},
"series": [
{
"date_from": "2025-11-16",
"date_to": "2025-11-22",
"values": {
"cursor ai": 35,
"lovable": 67
}
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/technologies
Technologies a website uses. Lists the technologies found on a website, grouped by kind (content system, e-commerce, analytics, advertising, hosting, JavaScript libraries and more), plus its title, description, country, language and the social profiles it links to. Useful for qualifying leads, sizing up a competitor or planning a migration.
Operation key seo.domains.technologies, scope api:seo:read, price: 10 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
{
"domain": "lovable.dev"
}
curl -X POST https://www.chab.ai/v1/seo/domains/technologies \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-technologies-001" \
-d '{"domain":"lovable.dev"}'
Result
{
"domain": "lovable.dev",
"title": "App & Website Builder | Build Software in Minutes | Lovable",
"description": "Describe what you want in plain language and Lovable builds it.",
"country": "US",
"language": "en",
"rank": 516,
"social_profiles": [
"https://twitter.com/Lovable",
"https://www.youtube.com/@lovable"
],
"emails": [],
"phone_numbers": [],
"technologies": [
{
"name": "Cloudflare",
"category": "cdn",
"group": "servers"
},
{
"name": "TanStack",
"category": "javascript_libraries",
"group": "web_development"
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/pages/speed
Page speed test. Runs Google Lighthouse on a page as a phone or a desktop sees it and returns the four scores from 0 to 100, the loading times that matter (first and largest paint, blocking time, layout shift) and the checks that failed, biggest savings first. Takes about a minute.
Operation key seo.pages.speed, scope api:seo:read, price: 5 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
url |
string | Yes | The page, for example https://example.com/. |
device |
string | No | Test as a phone or a desktop sees the page. One of mobile, desktop. Default "mobile". |
{
"url": "https://lovable.dev/",
"device": "mobile"
}
curl -X POST https://www.chab.ai/v1/seo/pages/speed \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-pages-speed-001" \
-d '{"url":"https://lovable.dev/","device":"mobile"}'
Result
{
"url": "https://lovable.dev/",
"device": "mobile",
"final_url": "https://lovable.dev/",
"scores": {
"performance": 37,
"accessibility": 95,
"best_practices": 100,
"seo": 92
},
"metrics": {
"first_contentful_paint_ms": 6302,
"largest_contentful_paint_ms": 7034,
"total_blocking_time_ms": 1207,
"cumulative_layout_shift": 0.0002,
"speed_index_ms": 6302,
"time_to_interactive_ms": 15261
},
"issues": [
{
"id": "unused-javascript",
"title": "Reduce unused JavaScript",
"display_value": "Est savings of 997 KiB",
"savings_ms": 2080,
"score": 0
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/by_technology
Websites that use a technology. Finds websites that use a technology (a shop system, CMS, analytics or payment tool, for example Shopify, WordPress or Stripe), optionally in one country, strongest sites first, with title, language, emails, phone numbers and social profiles. A ready lead list for anyone who sells to users of that technology.
Operation key seo.domains.by_technology, scope api:seo:read, price: 10 credits plus 1 credit per started 1 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
technology |
string | Yes | The technology as it is usually written, for example Shopify, WordPress or Google Analytics. |
location |
object | No | Optional country (two letters) the websites are in. |
limit |
integer | No | Up to 1,000 websites. From 1 to 1000. Default 10. |
{
"technology": "Shopify",
"location": {
"country": "DE"
},
"limit": 10
}
curl -X POST https://www.chab.ai/v1/seo/domains/by_technology \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-by-technology-001" \
-d '{"technology":"Shopify","location":{"country":"DE"},"limit":10}'
Result
{
"technology": "Shopify",
"location": {
"country": "DE"
},
"total": 27909,
"websites": [
{
"domain": "motorize.de",
"title": "Neu und Gebrauchtteile für Motorräder",
"description": "Online Shop für gebrauchte und neue Ersatzteile.",
"country": "DE",
"language": "de",
"rank": 618,
"emails": [],
"phone_numbers": [],
"social_profiles": []
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/mentions
Brand mentions on the web. Searches a large index of web pages, news and blogs for a brand, product or phrase and returns the pages that mention it, one per website, with title, snippet, author, publication date, language and how strong the site is. Useful for PR, link building and keeping track of what people say about you.
Operation key seo.mentions, scope api:seo:read, price: 20 credits plus 1 credit per started 25 rows.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | The brand, product or phrase to look for, at least 3 characters. |
page_type |
string | No | Only pages of one kind, for example news or blogs. One of any, news, blogs, ecommerce, message_boards, organization. Default "any". |
sort |
string | No | relevance: the strongest mentions first. newest: the most recent first. One of relevance, newest. Default "relevance". |
limit |
integer | No | Up to 1,000 pages. From 1 to 1000. Default 20. |
{
"query": "lovable",
"page_type": "news",
"sort": "newest",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/seo/mentions \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-mentions-001" \
-d '{"query":"lovable","page_type":"news","sort":"newest","limit":20}'
Result
{
"query": "lovable",
"page_type": "news",
"sort": "newest",
"total": 18542,
"mentions": [
{
"url": "https://www.example-news.com/2026/11/ai-app-builders",
"domain": "example-news.com",
"title": "The AI app builders worth trying",
"snippet": "Lovable turns a plain description into a working app...",
"author": "Jane Doe",
"published_at": "2026-11-12T09:00:00+00:00",
"language": "en",
"country": "US",
"page_types": [
"news"
],
"domain_rank": 512
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/seo/domains/whois
Domain registration (WHOIS). Looks up the registration of a domain: when it was created, last changed and when it expires, the registrar and the status codes that lock it, plus its backlink and search traffic totals. Needs a plan or bought credits.
Operation key seo.domains.whois, scope api:seo:read, price: 98 credits.
Request
| Field | Type | Required | Description |
|---|---|---|---|
domain |
string | Yes | The website, for example example.com. |
{
"domain": "lovable.dev"
}
curl -X POST https://www.chab.ai/v1/seo/domains/whois \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: seo-domains-whois-001" \
-d '{"domain":"lovable.dev"}'
Result
{
"domain": "lovable.dev",
"registration": {
"registered": true,
"registrar": "CloudFlare, Inc.",
"created_at": "2023-09-19T14:03:27+00:00",
"changed_at": "2025-10-10T09:27:11+00:00",
"expires_at": "2027-09-19T14:03:27+00:00",
"first_seen": "2024-03-18T23:08:31+00:00",
"status": [
"client_transfer_prohibited"
]
},
"backlinks": {
"backlinks": 586410,
"referring_domains": 35249
},
"organic": {
"estimated_traffic": 1132898,
"keywords": 14238
},
"fetched_at": "2026-11-13T12:00:00+00:00"
}
POST/v1/business/reviews
Google reviews of a business. Finds a business on Google by its name and town and returns its reviews: stars, text, date, the reviewer and the owner's reply, plus the business's overall rating and number of reviews. Sort by most relevant, newest, best or worst. Takes about a minute.
Operation key business.reviews, scope api:business:read, price: 3 credits per started 20 results.
Request
| Field | Type | Required | Description |
|---|---|---|---|
query |
string | Yes | The business: its name and town or address, as you would search for it on Google Maps. |
location |
object | Yes | Country (two letters), optionally narrowed to a city: results as people there see them. |
language |
string | Yes | Language as a BCP 47 tag, for example en-US or de. |
sort |
string | No | Which reviews come first. One of relevant, newest, highest_rating, lowest_rating. Default "relevant". |
limit |
integer | No | Up to 1,000 reviews. From 1 to 1000. Default 20. |
{
"query": "Joes Pizza, 7 Carmine St, New York",
"location": {
"country": "US",
"city": "New York"
},
"language": "en-US",
"sort": "newest",
"limit": 20
}
curl -X POST https://www.chab.ai/v1/business/reviews \
-H "Authorization: Bearer CHAB_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: business-reviews-001" \
-d '{"query":"Joes Pizza, 7 Carmine St, New York","location":{"country":"US","city":"New York"},"language":"en-US","sort":"newest","limit":20}'
Result
{
"query": "Joes Pizza, 7 Carmine St, New York",
"location": {
"country": "US",
"city": "New York"
},
"language": "en-US",
"sort": "newest",
"business": {
"name": "Joe's Pizza",
"address": "7 Carmine St, New York, NY 10014, United States",
"rating": 4.4,
"reviews": 10777
},
"reviews": [
{
"rating": 4,
"text": "Classic New York slice, thin and crisp. Worth the short wait.",
"published_at": "2026-11-12T22:49:24+00:00",
"published": "13 hours ago",
"author": "Antonio Pulcini",
"author_reviews": 17,
"local_guide": true,
"owner_reply": null,
"highlights": {
"Food": "4",
"Service": "4",
"Atmosphere": "3"
}
}
],
"fetched_at": "2026-11-13T12:00:00+00:00"
}