AnswerLineStart free

, Analytics · Google · ChatGPT

18 competitive intelligence examples you can answer from public search and AI data

Competitive intelligence from public data means asking a narrow question that a search result page or an AI answer can settle, then reading one specific field. “Who bids on our brand?” is answered by ads[].domain on a Google search for your brand. “Which rival pages does the AI Overview cite?” is aioverview.citationPills[].domain. The 18 examples below each give the endpoint, an example query or prompt, the field to read, and the limit of what that field can tell you.

All examples use this API’s Google Search (POST /v1/monitor/google, task type GOOGLE), Google News (POST /v1/monitor/google/news, GOOGLE_NEWS) and ChatGPT (POST /v1/monitor/chatgpt, CHATGPT) endpoints. Brand names are placeholders: “Ledgerly” is you, “BillFox” and “InvoicePro” are rivals.

How to run any example

A synchronous call returns { "success": true, "result": { ... } }:

curl -X POST https://api.answerline.dev/v1/monitor/google \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "query": "ledgerly", "country": "US", "hl": "en" }'

For recurring collection, send the same body as the payload of an async task and receive results by webhook (async, webhooks). A small Python helper used below:

import os, requests
from urllib.parse import urlsplit

API = "https://api.answerline.dev"
HEADERS = {"Authorization": f"Bearer {os.environ['API_KEY']}"}

def call(path, body):
    r = requests.post(f"{API}{path}", json=body, headers=HEADERS, timeout=400)
    r.raise_for_status()
    return r.json()["result"]

def host(url):
    return (urlsplit(url or "").hostname or "").removeprefix("www.")

Several Google fields are omitted when the results page has no such block (localResults, knowledgeGraph, shoppingCards, peopleAreSaying), and aioverview is null when requested but not shown. Read them with defaults.

1. Who bids on our brand name?

r = call("/v1/monitor/google", {"query": "ledgerly", "country": "US"})
rivals = {a.get("domain") for a in r.get("ads", []) if a.get("domain") not in (None, "ledgerly.com")}

Run it several times a day for a week and report, per domain, the share of samples it appeared in.

2. What ad copy do competitors run on category keywords?

Hash title plus description per domain; a hash you have not seen in 30 days is a new creative.

3. Which competitors run shopping ads, and at what price?

Group sponsored shopping cards by store, not by url, because their URL is a Google redirect.

4. Is a rival advertising inside ChatGPT answers?

Tracking ads in AI answers covers this surface in depth.

5. Who owns the top 10 for our category keywords?

r = call("/v1/monitor/google", {"query": "invoicing software for freelancers", "country": "US"})
ranked = sorted(r.get("organicResults", []), key=lambda o: (o.get("page", 1), o.get("position", 0)))
top10 = [host(o["link"]) for o in ranked[:10]]

6. Which rival pages rank for comparison and “alternatives” searches?

These searches show who intercepts a rival’s churn-intent demand, including review sites and affiliates you might pitch.

7. Which of a competitor’s pages does Google associate with a topic?

Useful for finding a rival’s feature pages, docs and help articles on a theme before writing your own.

8. Which forum threads discuss a competitor?

9. Where does a local competitor appear in the map pack?

SERP features and brand perception

10. Which domains does Google’s AI Overview cite for our category?

r = call("/v1/monitor/google", {"query": "how to invoice international clients as a freelancer",
                                "country": "US", "include": {"aioverview": {"markdown": False}}})
aio = r.get("aioverview") or {}
cited = sorted({p["domain"] for p in aio.get("citationPills", [])})

11. What do searchers ask about a competitor?

Questions such as “Does BillFox charge per invoice?” are objections to address on your comparison page.

12. Which searches does Google pair with a competitor’s name?

13. How does Google describe a competitor as an entity?

News

Request fields for these examples are on the Google News engine page.

14. Which publishers covered a competitor this week?

15. Did a rival announce funding, a launch or a price change?

AI answers

16. Which brands does ChatGPT recommend for our category?

r = call("/v1/monitor/chatgpt", {"prompt": "What is the best invoicing software for freelancers?", "country": "US"})
named = [e["name"] for e in r.get("entities", [])]
text = r.get("text", "").lower()
order = sorted((b for b in ["Ledgerly", "BillFox", "InvoicePro"] if b.lower() in text), key=lambda b: text.index(b.lower()))

entities[] exists only on ChatGPT. On Gemini, Copilot, Grok, Perplexity and AI Mode, match brand names in text.

17. Whose pages does ChatGPT cite when it recommends a rival?

18. Which searches does ChatGPT run before answering about competitors?

Summary table

# Question Endpoint Field
1 Who bids on our brand? Google Search ads[].domain
2 Competitor ad copy Google Search ads[].title, ads[].description
3 Shopping ads and prices Google Search ads[].store, ads[].price.raw, shoppingCards[]
4 Ads inside ChatGPT ChatGPT + include.ads ads[].brand.name, ads[].rendered
5 Top 10 owners Google Search organicResults[].link
6 Alternatives and comparison pages Google Search organicResults[].title, link
7 Rival pages on a topic Google Search, site: organicResults[].link
8 Forum discussion Google Search peopleAreSaying[]
9 Local pack Google Search + location localResults[]
10 AI Overview citations Google Search + include.aioverview aioverview.citationPills[].domain
11 Questions about a rival Google Search peopleAlsoAsk[].question
12 Searches paired with a rival Google Search relatedSearches[].query
13 Entity description Google Search knowledgeGraph.attributes[]
14 Press coverage Google News newsResults[].source
15 Announcements Google News new newsResults[].link
16 Brands ChatGPT recommends ChatGPT entities[], text
17 Pages ChatGPT cites ChatGPT sources[].url, citationPills[].domain
18 ChatGPT’s searches ChatGPT + include.searchQueries searchQueries[]

Cost of running the set

Credits per async task: Google Search 3 (plus 2 with the AI Overview, plus 2 per extra page), Google News 3, ChatGPT 5 (plus 2 once if ads, searchQueries, shopping or rawResponse is requested). Synchronous calls add 2.

Running all 18 examples once as async tasks, one query each, with the AI Overview only on example 10 and ChatGPT add-ons only on examples 4 and 18: 11 Google Search tasks at 3 plus one at 5 (38), two Google News tasks (6), two ChatGPT tasks without add-ons (10), and two ChatGPT tasks with add-ons (14). That is 68 credits, well within the free tier’s 500 monthly credits. See pricing for plan allowances.

What public result data cannot answer

Keep these questions out of a SERP and AI answer pipeline, or pair it with other sources:

Turning examples into a program

  1. Pick the five or six questions your team would act on this quarter.
  2. Write fixed keyword and prompt sets for each, with IDs, per market.
  3. Schedule them as async batches with idempotency keys, sampling ads and AI answers several times.
  4. Store raw results, derive rates, and alert on transitions that persist for two runs.
  5. Record each finding in a competitive analysis template so it has an owner and a refresh date.

The metric definitions for share of voice, ad presence rate and AI citation share are on the competitor analysis page. Field-level details for every request are on the Google Search engine page.

Questions

What is an example of competitive intelligence from public data?

Searching your own brand name on Google and reading the advertiser domains in the ads block shows which competitors bid on your brand. Repeated over days and samples, it becomes an ad presence rate per competitor.

Which response field shows who is cited in a Google AI Overview?

aioverview.citationPills[].domain, with url and label per citation, and aioverview.sources[] for the full source list. The AI Overview is returned when include.aioverview is set on the Google Search request, for 2 extra credits.

Can public SERP data show a competitor's traffic or ad spend?

No. A result page shows who ranks, who advertises and who is cited at the moment of the request. It contains no traffic, spend, click, conversion, search volume or backlink data.

Which AI engine returns the brands named in an answer as structured data?

ChatGPT, through result.entities[] with type and name. On Perplexity, Gemini, Copilot, Grok and AI Mode, detect brands by matching names in result.text.

How many samples do I need before trusting a competitive signal?

Ads and AI answers vary between requests, so take several samples per keyword or prompt and report rates rather than a single yes or no. Organic positions are commonly tracked with one sample per run, daily or weekly, with alerts only on changes that persist across runs.

Try it on your own prompts

500 free credits a month, no card. One POST returns the answer, sources and citations as JSON.

Keep reading