Travel fares · Package holidays
Package holiday price monitoring: flight + hotel bundles per source market
Package holiday price monitoring collects the bundled price of flight, hotel and extras for a destination, departure airport, date, duration, board basis and party, as sold in each source market. Packages are built for the market they are sold in, so each search runs from an IP in that market.
Pay per GB · No subscription · Prices in EUR, excl. VAT
- €2.00
- per GB on ARC Fast, excl. VAT
- −44%
- at 1 TB (€1.12 / GB)
- 185+
- countries, city targeting
- Never
- expires — no subscription
Written for
- Tour operator pricing teams
- Package holiday comparison sites
- Online travel agency product managers
- Travel-market analysts
The short answer
- The unit is destination × departure airport × date × duration × board basis × party × market. Child ages alone can change a family package price substantially.
- Dynamic packages are priced live from component inventory, so the same search twice an hour apart can differ.
- The package price is not the sum of the components you can see elsewhere; track the bundle, and the components separately if you want the saving.
- EU package travel law has just been revised: Directive (EU) 2026/1024 is in force and abolishes linked travel arrangements once applied, which changes how some bundles are defined and sold.
The problem
What goes wrong without the right IPs
Party composition changes everything
Two adults and two children aged 4 and 9 is a different price from two adults and two teenagers. Fix party and child ages per series, or the series measures family composition instead of price.
Departure airport is a search parameter, market is the IP
A UK package from Manchester and one from London are different products on the same site. The site itself, its currency and its offers follow the visitor's country. Collect both deliberately.
Search, select and price are separate steps
A package search lists hotels with indicative prices; the bookable price appears after selecting room, board and flights. The exit has to hold for the whole flow or the selection is lost.
Board basis is buried
Room only, bed and breakfast, half board and all inclusive can sit on one hotel page. Compare all-inclusive with all-inclusive or the cheapest-visible price is meaningless.
Pages are heavy
Package flows load flight options, hotel galleries and maps. Without blocking images and third-party assets, a single priced package can cost several megabytes of bandwidth.
What to collect
What you can collect
- Destination and hotel
- Resort, hotel ID on the site, and your matched hotel key.
- Departure airport
- As selected in the search; a package price is per departure point.
- Date and duration
- Departure date and nights, typically 7 or 14.
- Party
- Adults and child ages; the series key for family pricing.
- Board basis and room
- Room only to all inclusive, plus room type.
- Package price
- Total and per person, currency, deposit amount and what is included (luggage, transfers).
- Flight details
- Carrier, times and baggage included, because they explain price differences between otherwise equal packages.
- Market
- Country site and exit country.
- Observation time
- Dynamic packages reprice continuously; the timestamp is part of the observation.
How it runs
How a collection run works
- 01
Define the series
Fix destinations, departure airports, dates, durations, board basis and two or three standard parties. Each combination is one price series.
- 02
Run each search to a priced package in one session
Search, pick the hotel, select board and flights, read the package price. Hold one exit for 15 to 20 minutes per flow in the source market.
A priced package flow with blocked assets18 linesfrom playwright.sync_api import sync_playwrightimport secretsBASE = "USERNAME_pool-arcfast_country-de".split("_country-")[0]def package_proxy(country: str) -> dict: user = f"{BASE}_country-{country}_session-{secrets.token_hex(4)}_sesstime-20" return {"server": "http://proxy.arcproxies.io:8000", "username": user, "password": "PASSWORD"}with sync_playwright() as p: browser = p.chromium.launch(proxy=package_proxy("gb")) page = browser.new_page() # images, fonts and media carry no price information page.route("**/*", lambda r: r.abort() if r.request.resource_type in ("image", "font", "media") else r.continue_()) page.goto("https://operator.example/search?from=MAN&to=PMI&nights=7&adults=2&children=2&ages=4,9") # select hotel, board basis and flights, then read the package total browser.close() - 03
Sample instead of sweeping
A full grid of destinations, airports, dates, durations and parties explodes quickly. Sample dates weekly and refresh peak periods (school holidays) more often.
- 04
Compare bundle with components
If you also collect airline fares and hotel rates for the same dates, store the component sum beside the package price to measure the package saving per market.
Setup
Recommended setup
Package flows are long and stateful. Hold one exit per flow, and keep country targeting aligned with the source market, not the destination.
| Plan | Role | Session | Targeting | Price |
|---|---|---|---|---|
ARC Fast Rotating residential | Default for package flows Residential exits in the market the package is sold to, held from search to priced package. | Sticky, 15–20 minutes per flow | Country of the source market (e.g. GB, DE, NL) | €2.00 / GB €1.12 at 1 TB (−44%) |
ARC Ultra Premium residential | The operators you benchmark against Premium residential for the few operator sites where a gap in the series hurts most. Route only those through it. | Sticky per flow | Country | €3.50 / GB €2.17 at 1 TB (−38%) |
ARC Basic Rotating ISP | Hotel content and static pages Hotel descriptions, board options and resort pages change rarely and do not need the residential pool. | Rotating | Country | €0.75 / GB €0.59 at 1 TB (−21%) |
Prices are list prices in EUR, excl. VAT. Volume discounts apply automatically at checkout — full ladder on the pricing page.
Connect
One connection string per market
The country, city and sticky session are tokens in the username. Change the token, change the market; keep the session handle, keep the IP.
http://USERNAME_pool-arcfast_country-de_session-k3f9a1x2_sesstime-10:PASSWORD@proxy.arcproxies.io:8000Swap _country-de for any market you quote. The full grammar is on the residential proxies page.
Illustration
What a weekly package price sample costs
An illustration with round numbers — your pages, payloads and retry rate will differ. The arithmetic is the real price ladder.
Assumptions
- Destinations
- 30
- Departure airports
- 4
- Departure dates
- 12
- Durations
- 2 (7 and 14 nights)
- Parties
- 2
- Operators
- 3
- Cadence
- weekly (4 a month)
- Weight per priced flow
- 900 KB with images blocked
- Bandwidth per month
- ≈ 63 GB
On ARC Fast
€100.80per month, excl. VAT
63 GB bought in one purchase at €1.60 / GB (−20% volume rung, applied automatically).
The same 63 GB on ARC Ultra: €183.02 at €2.91 / GB. Route only the jobs that need it through the pricier pool.
Assumes one source market. Without blocking images a priced flow is several times heavier; see reducing proxy bandwidth.
Bandwidth never expires, so a bigger single purchase is only ever cheaper per GB. See the ladder.
In depth
Package holidays, in depth
What makes a package price
A package bundles at least two travel services, typically flight and accommodation, often with transfers and luggage. Tour operators either contract hotel allocations in advance or build packages dynamically from live flight and hotel inventory. Either way the price a customer sees depends on these inputs:
| Input | Set by | Collect as |
|---|---|---|
| Source market | Visitor's country (the site you reach) | Exit country of the request |
| Departure airport | Search parameter | Airport code |
| Dates and duration | Search parameter | Departure date, nights |
| Party | Search parameter | Adults, child ages |
| Board basis | Selection on hotel page | Room only to all inclusive |
| Flight choice | Selection or default | Carrier, times, baggage |
Package travel law in the EU, in brief
The Package Travel Directive (EU) 2015/2302 has applied across the EU since 1 July 2018. It covers combinations of at least two types of travel services, such as transport, accommodation and car rental, sold as a package. Among other rights, travellers can cancel free of charge if the package price is raised by more than 8% of the original price.
A revision entered into force on 28 May 2026. It deletes the category of linked travel arrangements and adds rules on vouchers and refunds; member states have 28 months to transpose it, and the rules bind operators six months after that. For anyone tracking bundles, this means the line between a package and separately booked services is being redrawn over the next few years. This is a summary, not legal advice.
Why packages differ by source market
Operators sell the same hotel to several countries with different flights, currencies, board conventions and price levels. A Mallorca week sold to UK travellers from Manchester and to German travellers from Cologne shares a hotel and little else. Comparing them is valid only for the hotel component; the package prices belong to different markets.
This is why the exit IP should follow the source market (the point of sale), while the departure airport stays a search parameter, the same split used across travel fare aggregation. City targeting is rarely needed: package sites price by departure airport, not by the visitor's city.
Package saving: bundle versus components
A common analysis compares the package price with the sum of comparable components bought separately: the flight from airline fares or low-cost carrier fares, the hotel from hotel rate shopping, plus transfers. To be meaningful, all three must be collected for the same dates, party and market, close together in time.
Expect the result to vary by season and lead time; the point of measuring it is to see where and when bundles are priced to win.
Works with anything that takes a proxy URL
Playwright
- Puppeteer
Crawlee
- Python requests / httpx
- Docker
FAQ
Questions
Something not covered? Write to contact@arcproxies.io.
How do you compare package holiday prices across operators?
Fix the destination, hotel, departure airport, dates, duration, board basis and party, then collect the priced package from each operator in the same source market and close together in time. Compare totals only when the inclusions, such as luggage and transfers, match.
Why is the same package cheaper in another country?
Operators price each source market separately, with different flights, currencies, board conventions and inclusions. A package sold to one country is a different product from the one sold to another, even when the hotel is the same.
Can a package holiday price go up after booking?
Under the EU Package Travel Directive, a package price can be increased only in limited circumstances set out in the contract, and travellers can cancel free of charge if the increase is more than 8% of the original price. Check the current national rules for specifics.
What changed in EU package travel law in 2026?
A revision of the Package Travel Directive entered into force on 28 May 2026. It removes linked travel arrangements as a separate category, adds rules on vouchers as an alternative to refunds, and gives member states 28 months to transpose it, with operators bound six months after that.
Do I need city targeting for package holiday prices?
Rarely. Package sites price by departure airport, which you choose in the search, and by source market, which follows the visitor's country. Country targeting on ARC Fast with a sticky session per flow covers most cases.
How much bandwidth does package monitoring need?
Package flows are heavy. As an illustration, 30 destinations, four departure airports, 12 dates, two durations, two parties and three operators sampled weekly at about 900 KB per priced flow come to roughly 60 GB a month for one market.
Sources & review
Last reviewed by the ARC Proxies team. Prices are read from the live catalog at build time.
- [1]European Commission: Package Travel Directive
- [2]European Commission: Package travel: stronger rights for travellers and simpler rules for the travel industry (28 May 2026)
Travel fares
More on travel fares
Get started
Buy a gigabyte and try it on your own targets.
No subscription, no sales call. Code WELCOME15 takes 15% off your first purchase, and whatever you do not use is still there next quarter.