15% off your first purchase with code WELCOME15, up to 25 GB.

See pricing

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

Illustration. The URLs and values are fictional; the connection string is the real grammar.
€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

  1. 01

    Define the series

    Fix destinations, departure airports, dates, durations, board basis and two or three standard parties. Each combination is one price series.

  2. 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 assets
    from 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()
  3. 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.

  4. 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.

PlanRoleSessionTargetingPrice
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 flowCountry 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 flowCountry
€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.
RotatingCountry
€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.

sticky · Germany · 10 min
http://USERNAME_pool-arcfast_country-de_session-k3f9a1x2_sesstime-10:PASSWORD@proxy.arcproxies.io:8000

Swap _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:

InputSet byCollect as
Source marketVisitor's country (the site you reach)Exit country of the request
Departure airportSearch parameterAirport code
Dates and durationSearch parameterDeparture date, nights
PartySearch parameterAdults, child ages
Board basisSelection on hotel pageRoom only to all inclusive
Flight choiceSelection or defaultCarrier, 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. [1]European Commission: Package Travel Directive
  2. [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

OverviewProxies for travel fare aggregationAirline, hotel and rail fares change with the point of sale. Query each market from an IP inside it so the fare you store is the fare a traveller is quoted.Deep diveAirline faresCollect airline fares per point of sale: the same flight priced from each market, taxes itemised, one sticky session per search, billed per GB.Deep diveLow-cost carrier faresMonitor low-cost carrier fares where they are sold: on the airline's own site, priced per leg and per seat bucket, with mandatory fees split out. Per GB.Deep diveAirline ancillary pricesTrack airline ancillary prices (checked bags, seats, priority and fare bundles) per route, date and market, so a trip's true cost can be compared.Deep diveRail and bus faresCollect European rail and intercity coach fares per operator, departure and fare family, including yield-managed long-distance tickets. Billed per GB.Deep diveFerry faresMonitor ferry fares by route, sailing, season and vehicle (foot passengers, cars, cabins) from each operator's own public booking site. Per GB.Deep diveFare alertsBuild fare alerts and deal newsletters on verified prices: cheap watch-list polling, live confirmation from the right market before sending, per-GB costs.Deep diveCorporate travel benchmarkingBenchmark booked and negotiated corporate fares against public fares on the same flights, lead times and markets, for TMCs, travel managers and audits.Deep diveTravel metasearchHow to build a travel metasearch engine: partner feeds, cached prices, live re-pricing and look-to-book. Where proxies fit, and what it costs per GB.Deep diveHotel rate shoppingCollect competitor hotel rates per stay date, length of stay and market from local residential IPs. Sticky sessions per shop, billed per GB.GuideWhy flight prices differ by countryThe same flight costs different amounts in different countries because fares are filed and sold per point of sale, and taxes follow the departure airport.GuideDo airlines raise prices when you search?What regulators and researchers found about cookie and IP tracking in airline pricing, and what actually makes a fare change between two searches.GuideHow often flight prices changeFlight prices can change many times a day: filed fares update constantly and seat availability moves with every booking. What that means for collection.

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.