Illustration of search results and sources cited in an AI answer.

To start a GEO audit, I would begin with a fairly down-to-earth question: when someone searches for what you sell, does AI suggest you? And what does it base its answer on?

GEO is the work of improving visibility in answers from generative engines. Put that way, we can already open a spreadsheet before reaching for a credit card.

So, do you need to spend €5,000 on a tool to get started?

It depends. But I would like us to be able to ask the question without being seen as the cheapskate in the meeting.

The €5,000 here is a hypothetical budget, not a particular vendor’s price. An annual subscription, an audit service and a monthly licence obviously cannot be compared like three tins of food.

Here is how I would build an initial assessment with DataForSEO, and what would then make me pay for a platform.

Start with questions that could bring in a customer

Let’s take a fictional example: a company selling invoicing software to freelancers.

I would start with sales enquiries, objections received and searches already identified in Search Console. Those searches provide leads; they do not automatically become prompts people actually use in ChatGPT.

I would then put together a small panel of questions:

  • “Which invoicing software should a freelancer choose?”

  • “Which tool lets you invoice customers and chase unpaid invoices?”

  • “What is an alternative to [competitor] for a small business?”

  • “Does [brand] let you manage deposits?”

I would separate questions that already name the brand from those looking for a solution. Being cited when you give the AI your own name deserves a separate column.

For a pilot, I suggest 30 questions, chosen to cover different needs. This is a practical starting point, not a representative sample of every conversation in the market.

DataForSEO: choose what you observe

DataForSEO offers, among other things, two families worth distinguishing.

LLM Responses lets you query models through an API, including models from OpenAI, Anthropic, Google and Perplexity. This is useful for comparing answers under defined conditions. I would not infer that a logged-in user will see the same thing in their app. LLM Responses documentation.

LLM Scraper collects search results from supported interfaces. I would use ChatGPT as the starting point here. The documented endpoint lets you specify location, language and web search behaviour. This remains an observation under those conditions, not a window into every personalised session. ChatGPT LLM Scraper documentation.

My pilot would therefore remain limited to ChatGPT. To expand the study, I would add separate data collections, stating their method. I would also keep Google AI Overviews results separate.

A big “AI visibility” score that mixes these surfaces without explanation would mainly make me want to open the manual.

Collecting the data in practice

Here is the protocol I propose: 30 questions, each recorded on three separate dates, using the same parameters. The three rounds are intended to identify possible variability, without claiming to resolve it statistically.

In DataForSEO, I would choose the ChatGPT LLM Scraper Live Advanced endpoint: POST /v3/ai_optimization/chat_gpt/llm_scraper/live/advanced. Each request contains one task: the question in the keyword field, followed by a location and language chosen from the supported lists.

I would also set force_web_search consistently for the whole series. Enabling it means studying a forced web search condition, which must be stated in the report; even when enabled, this option does not guarantee cited sources.

Before running the whole panel, I would make a test call. I would check the task status, whether an answer is present and its cost. A failed call remains missing data: it is not evidence that the brand is absent.

Then a script or automation sends the questions, retains the raw answers and populates a table. One row per observation, with the question, date, parameters, reported model, answer, brands mentioned, cited links and cost.

I would keep the complete answers. If a figure looks odd, I want to be able to trace it back to the text that produced it.

The small calculation that puts prices in perspective

At the price checked on 17 September 2026, DataForSEO lists LLM Scraper Live at $0.004 per page of results. For our hypothetical scenario, assuming one billed page per collection and no additional calls:

30 questions × 3 rounds = 90 pages. 90 × $0.004 = $0.36 for data collection.

This is the theoretical data cost for this pilot. The initial test, any retries and other calls are additional. LLM Scraper pricing.

We also need to distinguish usage from payment: DataForSEO advertises a minimum top-up of $50, as well as $1 in trial credit. That credit can be used for testing before topping up; spending a few cents does not mean you can fund your account with a few cents. Terms displayed by DataForSEO.

Another trap: the LLM Responses Live price of $0.0006 per task is a base charge, to which the model provider’s cost is added. It is not the all-inclusive price of our ChatGPT Scraper collection. LLM Responses pricing.

I could stop here and sell you the grand story of a consultant replacing software for a few cents.

Except I would have forgotten to charge for my time. Choosing the questions, development, errors, reading and maintenance are also part of the bill.

A cheap API does not make the audit free. It lets you understand which part of the work you are actually buying.

Read the answers before creating a score

At a minimum, I would distinguish between a brand being mentioned, a brand being recommended for the need, and a domain being cited as a source. A brand can appear because it is being advised against; it can also be recommended based on a third-party article, with no link to its own website.

For a mention rate, the calculation would be explicit: usable answers containing the brand divided by usable answers in the same group. Branded and unbranded questions remain separate; missing observations remain visible.

This rate describes our panel of questions, under our collection conditions. It represents neither market share nor a percentage of all ChatGPT users.

I would also check the citations in the answer itself. A link returned among the model’s search results is not enough to prove it was cited to the reader. The documentation itself distinguishes retrieved results, which may go unused, from sources associated with the answer.

Turn the findings into useful work

In our fictional example, imagine the answers regularly recommend a competitor for chasing unpaid invoices. I would read the cited pages, then compare what they help people understand with what our own website explains.

Do we actually offer that feature? Is it documented? Are its limitations and conditions clear? Does the cited source say anything false or outdated?

If a page already covers the topic, I would improve it before creating another. A new page is only justified if it meets a distinct need and corresponds to a real offering.

The action plan would specify the page concerned, the gap identified, the proposed correction and how to check it. I would add technical checks on access to useful pages. Collecting answers provides the visibility assessment; the audit must then examine the website and its supporting evidence.

Then I would repeat the observations with the same panel and settings. An improvement after a change would be encouraging, but it would not, on its own, be enough to prove that my change caused it.

When I would pay the €5,000

For a limited initial assessment, with someone able to maintain the collection, I would start with this lightweight setup.

However, if several teams need to track several markets, access a reliable history, share results and receive alerts when a collection fails, a platform may be worth its price. Provided we check that it actually delivers all of that.

I would ask for a demonstration using my own questions. I would want to see the raw answer behind a metric, export my data and understand what happens when an observation is missing. I would then look at the time the team actually saves.

I have far less trouble paying for that than paying for a gauge whose calculation no one can explain.

So yes, it depends. Before signing, I want to know what decisions the tool will enable me to make.

And if the only answer is “track your GEO score”, I will keep my credit card in my pocket a little longer.


Field notes · Proposed method based on DataForSEO documentation consulted on 17 September 2026. The case and budget are illustrative: this article presents no client data collection or achieved savings.