Kagi Proxy: Account Preferences, Exit Country and Repeatable Measurement
Because Kagi is ad-free and subscription-based, two separate channels determine the result: the ranking preferences tied to your account, and the network the request leaves from. This page explains how to separate the two, which one the proxy touches, and how to keep a measurement series spanning weeks consistent.
Series consistencyWhich variable to hold fixed in a SERP record spanning weeks.
02
Screen differenceThe different page layouts a narrow screen and a wide screen return for the same query.
03
Commercial queriesHow shopping-intent results shift by country on an ad-free engine.
04
Setup and verificationThe scope decision, protocol choice and the post-setup leak check.
What makes Kagi interesting from a proxy standpoint is that it cannot be used without a session. The subscription account determines who the query belongs to, and that identity is independent of the exit address. When you enable a proxy, which network the request leaves from changes; who your account is does not. If you do not establish this distinction from the start, you will attribute every difference to the wrong cause.
The second point is that the engine does not produce its result surface from a single source. Kagi states in its own documentation that it combines its own crawled indexes with external search sources; on top of that come your account's domain preferences and the filters you have selected. The exit address is only one of these inputs.
The third is a practical caveat: what is described here is for verifying how the engine's public result surface looks from different countries. Compliance with the subscription conditions and terms of service is the user's responsibility.
Identity sits with the account, location with the network
When you send a Kagi query there are two separate pieces of information on the server side. The first is your session: the cookie or token your browser carries tells which subscription the request belongs to. The second is the exit IP address the connection comes from. A proxy touches only the second. When you switch to a Frankfurt exit your account does not become a Frankfurt account; your request leaves from there.
This distinction is actually an advantage for someone doing measurement. When you send queries from two different countries with the same account, everything bound to the account — preferences, language setting, plan — stays fixed; the only input that changes is the network side. That is exactly what you want for a controlled comparison. Verify that your exit has really changed with the my IP address tool; if the country the tool shows and the country you selected in your panel are not the same, do not start measuring.
There is a reverse direction too. If you change something in the account settings and then change the exit as well, you will attribute the resulting difference to the network although it may come from the preference. The rule is simple: move only one variable per run and leave everything else as it is.
The autonomous system the exit belongs to is also an input. Datacenter blocks and home subscriber blocks sit in different ASNs, and that classification can affect how the engine handles the request (ASN and IP reputation). If you want to compare the behavior of other search engines, the search engine guides show the same method on other surfaces.
What do you need to hold fixed in a monitoring series?
SERP monitoring is not a one-off look but running the same query set at regular intervals under the same conditions. The value of a series comes from its comparability; if the conditions have shifted in between, what you are left with is a mixture of two different experiments. So the first job is to write down which variables count as frozen.
In practice a run erodes in three stages. Some of the queries you planned never complete because of timeouts, quota exhaustion or dropped connections. Some of those that do complete are not admitted to the series because their conditions broke: the exit changed midway, the language setting differs, the page loaded only partially. What remains is your real measurement. Ignoring this attrition rate is the most common cause of unexplained jumps in a series.
Variable to hold fixed
Why it matters
What goes into the record
Exit country and city
Carries the regional result surface directly
Country code and exit label
Interface language
Language and country are separate inputs and must not shift together
The selected language value
Device profile
Narrow and wide screens return different pages
Desktop / mobile label
Query text
Even a single-letter difference is a separate query
The query exactly as written
Time zone and time
The time of day affects the content set returned
UTC timestamp
Filling this table in once and setting it aside is not enough; attach the same fields to the output of every run. When you see a jump in a chart six weeks later, the first place you look is not the engine but that day's exit label. Teams that keep no records are left guessing at this point.
DIAGRAMFrom planned queries to measurements admitted to the series in a monitoring run
You can scroll the diagram horizontally to inspect it
The values are not a real measurement but representative weights describing the relative narrowing between stages.
How do an account's ranking preferences contaminate measurement?
One of Kagi's distinguishing features is that the user can intervene in the results: you can boost a domain, demote it, pin it or remove it from the list entirely. With lens and filter setups you can also confine the result set to a narrow area. In daily use this is a powerful feature; in measurement it is a permanent source of bias.
The problem is that preferences live on the account. Even if you change your exit, reset the browser, or move to another machine, the preferences come back the moment you sign in with the same account. A domain you demoted six months ago out of irritation is still down in today's measurement, and you mistake it for a regional difference.
The solution is to keep a separate measurement profile. Do not bring the account you use daily into measurement; leave preferences neutral on the account you use for measurement and keep that decision in writing. If you have had to change a preference, record the change with its date, because measurements before and after that date no longer count as part of the same series.
Warning
Opening a separate account for measurement does not mean sharing a single subscription among several people. The engine's subscription terms are binding on the number of accounts and concurrent use; a proxy is not a tool that changes those terms.
Separating the inputs that feed the result surface
Thinking of a result page as a single box also sets the wrong expectation of a proxy. On the Kagi side at least five inputs work at once: the engine's own crawled index, external search sources, your account's domain preferences, the active lens or filter, and the network the request leaves from. A proxy changes only the last of these.
The fastest way to understand this is to run a single-variable test. At the same time, with the same account, run the same query from two different exits and put the two outputs side by side. The part that stays common most likely comes from the index and preferences; the part that changes is the part sensitive to the network side. Once you have made this distinction, you also learn which queries are region-sensitive.
Some results do not change on any exit. For a technical definition search, a library document or a historical record, the weight carried by the country signal is low. The region-sensitive ones are generally queries about local services, current news, regulations and commercial intent. It is more efficient to spend your measurement budget on this second set.
When deciding which country the exit should come from, base it on your target audience; wherever the user you want to measure stands, that is where the exit should be. You can see the options location list . The general framework on the search visibility side is gathered on the proxy for SEO tools page.
DIAGRAMThe inputs that feed a Kagi result and the point the proxy touches
You can scroll the diagram horizontally to inspect it
Of these nodes the proxy touches only the exit network; the other four stay with the account and the engine.
Choose an exit for your Kagi measurements
Country diversity is decisive in regional comparison, while in long series it is the exit staying stable that matters.
Choose whichever you need from our residential proxies, datacenter proxies, IPv6 and ISP solutions. Every plan comes with unlimited options, 99.9% uptime, rotating proxies, sticky sessions and 24/7 support. Ideal for web scraping, ad verification, SEO monitoring and digital data collection.
ISP ProxyStatic Turkish IPs registered to an ISP
ISP-registered static Türkiye IPs; they combine datacenter speed with the reputation of a real carrier. Ideal for long sessions and low-ping use.
A narrow screen and a wide screen do not return the same page for the same query
Collecting mobile and desktop output into a single series is like writing two different measures into the same column. The difference does not come from layout alone: on a narrow screen the number of results per screen drops, some auxiliary blocks are shortened or collapsed, and the order of modules can change. A result at the same position number does not have the same visibility on two devices.
The second layer is on the network side. Your phone exits through a mobile carrier network while your desktop exits through a home or office line; these are different ASNs. If you really want to measure mobile behavior from a mobile exit, mobile proxy is there for that. But consistency is essential here: requesting a mobile user interface while exiting from a desktop network, or the reverse, produces a self-contradictory request.
The practical setup is this. Open two separate browser profiles; reserve one for desktop and the other for mobile measurement. In each profile keep the user interface setting, window size and exit type fixed. Write the outputs to separate files as well. If you have to show them in the same chart, show them as two separate series and do not average them.
Tip
When measuring the mobile series, take separate captures before and after scrolling the page. On a narrow screen the initially visible area is very small; a routine that records only the first screen never sees changes in the blocks further down the page.
The regional view of commercial results on an ad-free engine
Because Kagi is subscription-based and shows no ads, you cannot look for a sponsored block here. For someone doing campaign verification, that is a direct limit: if what you want to measure is an ad placement, you are looking at the wrong surface. For a method that works on engines carrying an ad surface, the framework on the ad verification proxy page is more appropriate.
The organic side of commercial-intent queries, by contrast, really does shift by country. When you search a product name, the store domains returned, the weight of local retailers, the share of country-extension domains and the results carried by the language preference are all sensitive to the exit country. For teams doing price comparison, this is the most meaningful signal visible through the engine (proxy for price comparison).
Watch out for two misconceptions when measuring. The first is that the price you see on a store page is the site's decision, not the engine's; do not fold the change in the result list and the price difference within the site into the same measurement. The second is currency and tax display: the same page can open in a different currency depending on the exit country, and that is not a ranking change.
If you are going to produce a comparative table, keep a separate exit label for each country and run the same query within the same day. Drift between days masks the difference between countries.
Setup: scope decision, protocol and access details
Scope first
Where you define the proxy determines which traffic gets routed. An operating-system setting affects every application and puts your daily work through the proxy too. A separate browser profile covers only that profile; this is the preferred route for measurement work because your normal browser is unaffected. If you use a client that runs from the command line, the scope is limited to that process only.
Protocol and DNS
An HTTP proxy opens a tunnel with CONNECT for HTTPS targets and resolves the domain itself. With SOCKS5, where resolution happens depends on the client; the form that leaves name resolution to the proxy (socks5h) and the form that resolves locally give different results. This matters in regional measurement: if name resolution is done on your network, the target is routed to a node close to you but the connection is established from the proxy's country. Details: where DNS is resolved in SOCKS5.
Field
Example
Note
The server sends
proxy.example.com
The hostname in your panel
Port
8080
Varies by protocol and provider
Username
username
Required for access with authentication
Password
password
Not shared, issued separately even within the team
These values only show the format. Your real access details sit in your panel and are safer kept in an environment variable than embedded in your measurement script.
DIAGRAMThree separate series from a single measurement profile
You can scroll the diagram horizontally to inspect it
The same query set is written to three separate series; the series are not merged in a chart but read side by side.
Verification, symptom table and the limits of the job
When setup is done, opening a single page and saying "it works" is not enough. Three checks take minutes and save a series that will run for weeks. DNS leak test where your name resolution is done, WebRTC leak test whether the browser is leaking your real address. You can measure whether the exit is live with with the proxy checker tool .
IPv6 is a separate trap. Because Kagi is session-based, the risk here is not only a broken measurement but the same account appearing from two different addresses: if your exit only offers IPv4 and IPv6 is enabled on your device, a request to an endpoint reachable over IPv6 goes directly without using the proxy at all. Disabling IPv6 in the measurement profile or using an IPv6-capable exit solves this.
Symptom
Possible cause
Check
The country looks different from what was expected
The exit label is wrong or the pool landed in another country
Verify the exit country before the run
The session drops, login is requested again
The exit changed midway and the session became inconsistent
Choose a sticky window longer than the run
407 is returned
Credentials are not being sent or the IP authorization lapsed
Check the username–password and whitelist entry
Results differ greatly between two runs
Account preferences or the language setting changed in between
Compare the profile settings and the change log
The page opens slowly
The exit is far away or the pool is busy
Try a closer exit, note the time difference
Finally, set the right expectation for latency: a proxy adds a hop and total time gets longer in most setups. In measurement work this is not a loss on its own; what matters is that the duration stays stable from run to run, that is, that it adds no noise to the series. If the duration lengthens noticeably one day, write that down too; the explanation for an oddity you see in the results weeks later is often hidden in that line.
Frequently asked questions about Kagi and proxies
01Does my Kagi account change when I use a proxy?
No. Your session is carried by a cookie or token and is independent of the exit address. A proxy only changes which network the request leaves from; your subscription identity stays the same. That is why your account-bound preferences also remain in effect on the new exit.
02Why do my measurements differ even within the same day?
The exit address alone is a small part of that difference. Account preferences, an open lens, the interface language, the device profile and the time of day all operate at once. Moving only one variable in a run and freezing the others makes the source of the difference visible.
03Can I measure ad results on Kagi with a proxy?
In an ad-free subscription model there is no sponsored block, so there is no ad placement to measure. The organic side of commercial queries does vary by country; for campaign verification, the method on the ad verification side is more appropriate.
04Can I combine mobile and desktop output in a single chart?
Do not combine them. On a narrow screen the number of results per screen and the order of blocks differ; the same position number does not mean the same visibility on two devices. Keeping them as two separate series and reading them side by side gives a more accurate picture.
05Which exit type is enough for this job?
In a signed-in, long-running series, the exit staying stable is more decisive than its type. If you need country diversity and a typical user profile, look at residential proxies; if speed and stability are the priority, look at datacenter proxies.
06What happens if the exit changes mid-run?
The session cookie stays the same but the country the request comes from suddenly shifts. This can both prompt re-verification and force you to throw the measurement away for violating conditions. Choosing a sticky window longer than the run largely removes this risk.
07Can measurement be done with a free proxy?
Free lists are fine for trying out a setup and learning the format. They are not recommended for a signed-in series that has to run for weeks: there is no telling when the exit will drop, and the country information is often unverified.