You open Aviasales, Skyscanner, or an airline's website — you see one price. An hour later from another device — it's a different price, even though it's the same flight. This is not a coincidence or a case of "it got more expensive in an hour." In 80% of cases, it's due to the aggregator's cache and the country from which your IP address sent the request. We break down the pricing mechanics and show how to see the price that a passenger from the departure country would actually see.
How Dynamic Pricing for Flight Tickets Works
Airlines have long stopped selling tickets at a fixed price. Inside, a revenue management system operates: the price depends on the flight's occupancy, the depth of sales (how many days before departure), demand for a specific date, seasonality, and even how many times a specific route has been searched in the last few hours. This is called "fare classes" — for the same flight, 10-15 different "buckets" with different prices are sold simultaneously, and the system opens or closes them in real-time.
On top of this, another layer is added — regional pricing. An airline may sell the same Moscow-Istanbul flight cheaper through a Turkish sales site than through a Russian one because it focuses on the purchasing power and competition in a specific country. This is standard practice for low-cost carriers like Wizz Air, Pegasus, AirAsia, and even for major carriers — Turkish Airlines, Emirates, Qatar Airways often offer different prices depending on the territory from which the request originated.
For arbitrageurs and marketers testing travel offers, this is critical: if you run ads for tickets targeting an audience from Germany but check the price with a Russian IP, the numbers in the ad and the numbers on the landing page may not match — this kills conversion and trust in the offer.
Why the Aggregator's Cache "Lies"
Aggregators like Aviasales, Skyscanner, Momondo physically cannot make live requests to each airline for every user click — it's too costly in terms of API load from partners. Therefore, they maintain a cache of search results: the price you see in the output may have been obtained 10-40 minutes ago, and sometimes even several hours ago for unpopular destinations.
Then the classic scheme kicks in: you click on a preferred option, the aggregator redirects you to the airline's website or OTA (online travel agency), and there the system makes a live request. If during the time between the cached output and your click the bucket with the cheap fare has closed — you will see a higher price. Hence the familiar phrase "it was cheaper, but now it's more expensive on the website."
The second source of distortion is the cache at the level of your browser and cookies. Many airline websites remember your search history and gradually raise the price on already viewed flights, creating an artificial sense of scarcity and pushing for a quick purchase. This is not a myth — the fact is confirmed by independent tests: the same flight opened in a regular window and in incognito mode sometimes shows a difference of 5-15%.
How IP and Country Determine the Price You See
Besides the cache, aggregators and airlines have geo-pricing — determining the price based on the geolocation of the user's IP address. The website checks which country the request came from and substitutes the local version of the fare grid. The mechanism is simple: the system compares the IP with a geolocation database (MaxMind, IP2Location, and similar), determines the country and currency, and shows the price calculated for that market.
This is especially noticeable with low-cost carriers and Middle Eastern airlines. For example, a flight from Dubai to Bangkok through the Emirates website may cost significantly less if accessed from an IP in India or Pakistan than from an IP in the UK or the USA — the airline focuses on the purchasing power of the traffic's origin region, not on the country from which the passenger is actually flying.
There is another nuance: some systems look not just at the country of the IP but specifically at the "departure country" of the route and compare it with the country of the IP address. If the request comes from an IP in the departure country — the system may consider this "domestic" demand and apply a different, sometimes more favorable, pricing logic than for "foreign" demand from the destination country.
Practical Example: The Bangkok–Phuket flight on AirAsia checked with a Russian IP showed 2100 baht. The same flight, same date, checked through residential proxies with a Thai IP — 1650 baht. The difference of 22% is not due to cache; it is indeed geo-pricing based on the IP country.
How to See the Real Price from the Departure Country
To see the price that a local passenger actually sees, you need to simulate a request from the desired country — that is, the IP address must physically belong to that region, not just be a "proxy from somewhere." Here’s a step-by-step algorithm:
- Determine the departure country of the flight (not the destination, but the departure — its pricing logic most often gives the best price).
- Connect an IP address from that country via a proxy — preferably residential, so the site does not recognize it as a data center and does not show an inflated "protective" price.
- Clear cookies or use a clean browser profile — otherwise, personalization based on search history will kick in.
- Change the interface language and currency to local ones for that country — this additionally reduces the chance of hitting a "tourist" markup.
- Make a fresh search, not clicking on old links — it's important to get a fresh, not cached result.
- Compare the price with what you see from your regular IP — a difference of 10-30% occurs regularly.
For a one-time check of a single flight, a browser extension proxy will suffice. But if you regularly monitor prices on dozens of routes (for example, if you run a travel blog, gather cheap tickets for a channel, or work with dropshipping tours), manual checking quickly becomes a routine — at this point, a systematic approach with an anti-detect browser and a pool of proxies for different countries is needed.
Which Proxies are Suitable for Price Checks
Not every proxy is equally good for this task. Airline websites and major aggregators can recognize data center IPs and often show them either an inflated "default" price or a captcha, or even block access to the regional version of the site altogether. Let's break down the differences between types.
| Proxy Type | Suitable for Price Checking? | Features |
|---|---|---|
| Residential Proxies | Yes, optimal | IP of real users from providers, minimal risk of captcha, accurate geolocation by country and city |
| Mobile Proxies | Yes, for airline mobile tariffs | Some low-cost carriers offer special rates only in mobile apps — IP from a mobile operator increases the accuracy of the check |
| Data Center Proxies | Limited | Faster and cheaper, but many airline websites recognize them and show an inflated base price or captcha |
For a one-time check of one or two routes, the difference between proxy types is not critical. But if you are building a monitoring system (for example, for a travel agency that sells tickets from several markets), residential proxies with precise geolocation to the departure city are the most reliable option: they look like an ordinary local user and raise less suspicion with airline anti-fraud systems.
Setting Up Price Checks in an Anti-Detect Browser: Step by Step
If you need to compare prices from several countries simultaneously — for example, check one flight with IPs from Thailand, Turkey, and the UAE — it’s more convenient to work through an anti-detect browser like Dolphin Anty, AdsPower, or Octo Browser. Each profile is a separate "virtual user" with its own browser fingerprint, cookies, and IP, and the profiles do not overlap.
- Create a new profile in Dolphin Anty or AdsPower — give it a clear name, such as "Thailand-Bangkok-Price-Check."
- Open the proxy settings of the profile → choose SOCKS5 or HTTP type → insert the residential proxy data with geolocation to the desired country.
- Check the IP through the built-in checker of the anti-detect browser — make sure that the country, city, and provider match the expected.
- Set the locale and timezone of the profile to match the proxy country — this is important, as many anti-fraud systems compare the geolocation of the IP with the system timezone of the browser.
- Go to the airline or aggregator's website with a clean profile, without search history — make the first request from here.
- Save the profile so that the next time you check, you don’t have to set everything up again — the profile will remember the proxy and fingerprint.
This approach is especially useful if you are comparing prices regularly, for example, if you monitor tariff dynamics for several routes weekly for a budget travel blog or for clients of a travel agency.
Automating Price Monitoring for the Travel Niche
If the task goes beyond one-time checks — for example, you run a Telegram channel about cheap tickets, work with travel arbitrage, or manage a travel agency with clients from different countries — manual checking through anti-detect browser profiles becomes a bottleneck. At this stage, it’s worth considering automation: a regular script or a ready-made monitoring service that checks prices on the necessary routes with IPs from different countries on a schedule and sends notifications if the price drops below a threshold.
For such a scheme, it’s important to rotate IPs within one country — if you make many requests from the same residential IP consecutively, the airline's website may start showing an inflated "protective" price or captcha, considering it suspicious activity. Therefore, price monitoring services usually use a pool of proxies with automatic IP rotation for each request or at set intervals — this reduces the risk of falling under anti-fraud measures and allows for consistently up-to-date data.
It’s also important to consider the user-agent and browser fingerprint: if you use a headless browser for automation (Puppeteer, Playwright), combine IP rotation with fingerprint changes; otherwise, anti-fraud systems will quickly link different IPs to the same "device" by fingerprint and block the entire pool.
Checklist Before Buying a Ticket
- Checked the price not only from your home IP but also from the departure country's IP
- Cleared cookies or opened a clean profile before searching
- Made a fresh search, not clicking on an old link from an email or social media
- Compared the price in different currencies by switching the website's region
- Checked the airline's mobile app — sometimes the price is lower there than on the website
- If the price differs significantly between IPs from different countries — took a screenshot for potential disputes with support
Conclusion
The price of a flight ticket on the screen is not an absolute truth but the result of two layers of distortion: outdated aggregator cache and geolocation by IP address. To see the price that a passenger from the departure country actually sees, you need to connect with a local IP from that country, work with a clean browser profile, and make a fresh search, rather than clicking on old links.
If you are checking one flight once — a browser extension with a proxy from the required country is sufficient. However, if you run a travel blog, monitor prices for clients of a travel agency, or build a system for regular price checks on dozens of routes, it’s worth establishing a process through an anti-detect browser and a pool of proxies with rotation. For such tasks, residential proxies are the best fit — they have real IP addresses from providers in a specific country and raise less suspicion with airline anti-fraud systems. If you need to check mobile tariffs that are only visible in the app, a reasonable choice would be mobile proxies tied to the mobile operator of the desired region.