← All use cases

Data collection

Proxies for Travel Fare Aggregation

Use case · Updated August 2026


Pull real airfare and hotel prices per market.

Fares change by point of sale. Residential IPs in each origin market return the true price, so aggregators and metasearch stay accurate without triggering airline anti-bot systems.

Why this needs proxies

Sites vary what they return based on where the request appears to come from, and they rate-limit or block addresses that ask too often. Both problems have the same fix: exit from real consumer IPs in the right places, and spread the load so no single address looks unusual. That is the whole job a proxy does here.

The reason residential IPs succeed where datacenter ones fail is classification by ASN. Hosting networks can be challenged wholesale with a single rule; consumer ISP networks cannot, because doing so would block real customers.

Recommended products

ProductPrice
Premium Residential$2.75/GB
Rotating Mobile$3.50/GB

Start with the cheapest option your target tolerates and move up only when it blocks you. Concurrent sessions are unlimited on every plan and country targeting is included in the price. Full tiers are on our pricing page.

How this works in practice

  1. Pick the cheapest product that works. Test the target on rotating datacenter first; move to residential only when you are actually refused.
  2. Choose the exit country deliberately. The data you get back is the data that country sees, so record which exit produced every record.
  3. Decide rotation vs sticky. Per-request rotation suits stateless collection; anything with a login or a multi-step flow needs one IP held for the whole session.
  4. Pace against the target, not your budget. Back off on 429 responses instead of rotating past them, and randomise intervals rather than hitting on the hour.

Common mistakes

Sizing your bandwidth

Work from page weight rather than guesswork. A page averaging 250 KB across 100,000 requests is roughly 25 GB. JSON APIs are far lighter, often a few kilobytes per call, while anything rendered in a headless browser pulls images and scripts too and can be several times heavier. Start at 1 GB, measure your actual average, then buy the package that matches.

Getting set up

Every product speaks HTTP(S) and SOCKS5, so this is a one-line change in most stacks. Credentials are assembled from a variable below rather than pasted inline, because a literal user:pass@host string in page copy can be rewritten by email-obfuscation filters.

import requests

endpoint = "geo.spyderproxy.com:12321"
creds = "USERNAME:PASSWORD"
proxy = f"http://{creds}@{endpoint}"

r = requests.get(
    "https://example.com",
    proxies={"http": proxy, "https": proxy},
    timeout=30,
)
print(r.status_code)

Confirm your exit is landing where you expect with the IP lookup tool before starting a long run. Bandwidth products begin at 1 GB, so you can validate for under $2.

Frequently Asked Questions

Why do fares change by country?

Airlines file fares by point of sale and hotel platforms localise currency and promotions. The variation is genuine market behaviour, not a scraping artefact.

Why does my scraper return empty results?

Almost always per-request rotation breaking a multi-step search. Hold one sticky IP for the whole search flow.

Which product suits fare collection?

Budget Residential at $1.75/GB with sticky sessions; Premium Residential at $2.75/GB where fares vary within a country.

Related

Start from 1 GB.

See pricing ↗Start now ↗