How to check if AI assistants recommend a local business in French, Dutch and English
I spent years working in Luxembourg, where a client can switch from French to German to English in the same meeting (and nobody blinks). So when I started measuring which businesses AI assistants recommend, the first thing I wanted to know was simple: does the answer change when only the language o

I spent years working in Luxembourg, where a client can switch from French to German to English in the same meeting (and nobody blinks). So when I started measuring which businesses AI assistants recommend, the first thing I wanted to know was simple: does the answer change when only the language of the question changes?
In late September 2026, I asked the same buyer questions in four cities: Montréal, Brussels, Luxembourg and Paris. Same city, same need, same models. Only the language changed.
If your clients sell in more than one language, checking one language tells you half the story (sometimes less).
The API call is the easy part. The protocol is what makes the numbers mean something.
1. Write the question the way a buyer asks it, in each language. A literal translation often sounds wrong, and a question that sounds wrong gets a different answer. Ask a native speaker if you can.
2. Never put the business name in the question. You want to know if the model names it on its own.
3. Ask several models, with web search on. Each one has its own sources, so one model is an anecdote.
4. Count answers, not rankings. "Named in 16 of 56 answers" is easy to check and easy to repeat.
5. Measure the noise before you call anything a change. On 8 October, I asked the same questions to the same models twice on the same day, in Montréal, with web search. A business moved by up to 5 answers out of 56. So when I re-measure 30 days later, I only call a change a movement when it goes beyond that, and only for a business named at least 5 times.
6. Date everything. AI answers change from one day to the next. A number without a date is a rumour.
Here is a minimal version of steps 1 to 3 with OpenRouter (one model, one question per language):
import os import requests API = " https://openrouter.ai/api/v1/chat/completions " KEY = os. environ [ " OPENROUTER_API_KEY " ] MODEL = " your-model-id:online " # ":online" turns on web search on OpenRouter QUESTIONS = { " fr ": " Quel courtier en assurance me conseillez-vous à Bruxelles? ", " nl ": " Welke verzekeringsmakelaar raad je aan in Brussel? ", " en ": " Which insurance broker would you recommend in Brussels?
", } BUSINESS = " Yago " for lang, question in QUESTIONS. items (): response = requests. post ( API, headers = { " Authorization ": f " Bearer { KEY } " }, json = { " model ": MODEL, " messages ": [{ " role ": " user ", " content ": question }]}, timeout = 120, ) answer = response. json ()[ " choices " ][ 0 ][ " message " ][ " content " ] print ( lang, BUSINESS. lower () in answer. lower ()) Enter fullscreen mode Exit fullscreen mode Run it a few times and you will see the noise from step 5 with your own eyes. Then multiply by models, questions and languages, and you understand why I stopped doing it by hand;-)
I publish the full tables, with the date of each measurement: vectorgap.ai/multilingual-ai-visibility. If you write about multilingual AI visibility, you can reuse the numbers, with a link back.
If you work with clients who sell in two languages, I am curious: do you see the same gap on your side? Tell me in the comments.
Expand Dmitry Sergeev Dmitry Sergeev Dmitry Sergeev Follow Joined May 23, 2026 • Oct 9 Dropdown menu Copy link Hide any tips for handling the fallback