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"
}