Systematic weekly extraction of Iceland's leading tour & activity OTAs — 270 days forward, every week
This case study covers Iceland's adventure tourism market and how TravelScrape solved OTA data extraction — served by a cluster of specialised OTA platforms — each offering unique tours, activities and experiences ranging from glacier hikes and Northern Lights expeditions to whale watching and diving in Silfra. A business intelligence client required consistent, structured, weekly data from 7 of these leading platforms to support pricing strategy, competitive benchmarking and demand forecasting.
The project requirement: weekly tour data extraction covering all tour listings, schedules, availability calendars and pricing data across a rolling 270-day forward window from 7 publicly accessible Icelandic OTA websites — on a weekly cadence — structured as JSON and delivered to the client's FTP endpoint on a fixed Monday schedule.
Full scope — all in-scope requirements defined
| Requirement | Details |
|---|---|
| Industry | OTA — Tour & Activity |
| Client Geography | Iceland |
| Target Platforms (7) | Dive.isMountain Guides IcelandReykjavik ExcursionsTrollNice TravelBus TravelArctic Adventures |
| Access Mode | Public access (no login required) |
| Location Coverage | All Iceland — Reykjavik, South Coast, Golden Circle, Snæfellsnes, Westfjords, North Iceland, East Iceland, Vatnajökull region |
| Forward Window | 270 days — rolling forward from each weekly extraction date |
| Scope of Data | Comprehensive extraction of all tour, activity and pricing information — all mandatory output attributes captured per tour per date per platform |
| Output Format | JSON — structured, nested, fully typed, field-level validated |
| Output Delivery | FTP — client-specified FTP endpoint, fixed folder structure per weekly run |
| Frequency | Weekly — every Monday, full refresh across all 7 platforms |
7 Iceland OTA platforms — each with unique structure & data challenges
Each of the 7 target platforms has a distinct site architecture, booking system and data schema. TravelScrape built a dedicated extraction module per platform and normalised all 7 into a single unified JSON output schema.
All mandatory attributes — captured per tour, per date, per platform
Every extracted tour record contains the full set of mandatory fields, populated and validated before delivery. Missing mandatory fields trigger extraction retry — no partial records are ever delivered.
Sample JSON output — single tour record
{
"platform": "Arctic Adventures",
"platform_url": "adventures.is",
"extracted_at": "2025-01-13T06:00:00Z",
"tour": {
"id": "AA-JEEP-HIGHLAND-001",
"name": "Super Jeep Highland Adventure — Landmannalaugar",
"category": "Adventure / Super Jeep",
"sub_category": "Highland Day Tour",
"url": "https://adventures.is/iceland/day-tours/super-jeep-highland",
"duration_hours": 12,
"difficulty": "Moderate",
"languages": ["English", "German"],
"review_score": 4.9,
"review_count": 284,
"badge": "Top Seller",
"featured": true
},
"location": {
"departure": "Reykjavik — BSI Bus Terminal",
"region": "Highland Iceland",
"pickup_available": true,
"pickup_locations": ["Reykjavik Hotels", "Keflavik Airport"],
"gps": {"lat": 63.9919, "lng": -22.7028}
},
"availability": {
"date": "2025-06-21",
"departure_time": "07:30",
"status": "Available",
"slots_remaining": 6,
"total_capacity": 12,
"booking_cutoff": "2025-06-20T23:59:00Z",
"cancellation_policy": "Free cancellation up to 48 hours before"
},
"pricing": {
"currency": "ISK",
"adult_price": 34900,
"child_price": 17450,
"group_discount": "10% for 8+ persons",
"early_bird_price": 31900,
"early_bird_condition": "Booked 30+ days in advance",
"add_ons": [
{"name": "Lunch Pack", "price": 2500},
{"name": "Private Guide Upgrade", "price": 15000}
]
},
"inclusions": ["Super Jeep transport", "Professional guide", "All entrance fees"],
"exclusions": ["Meals", "Personal travel insurance"],
"images": {
"primary": "https://adventures.is/media/tours/super-jeep-highland-hero.jpg",
"gallery": ["...image-2.jpg", "...image-3.jpg"]
},
"meta": {
"forward_window_days": 270,
"extraction_run": "2025-W03"
}
}
What made this project complex — and how we solved it
End-to-end weekly extraction pipeline — source to FTP
Week 1 execution timeline — scoping to delivery
Weekly JSON delivery — format, structure and FTP specification
{platform}_{YYYYMMDD}.json/iceland-ota/{YYYY-WW}/What the client achieved with weekly Iceland OTA data
The structured weekly dataset enabled the client's business intelligence team to build pricing models, competitive dashboards and demand forecasting tools that were not possible before consistent, normalised data from all 7 platforms was available in one place.
"Before TravelScrape, our team spent 6+ hours per week manually checking pricing across 3–4 Iceland platforms — getting inconsistent, non-comparable data with no structured format. Now we receive all 7 platforms, fully structured, every Monday morning. Our pricing model runs automatically on fresh data. We went from weekly manual effort to a fully automated competitive intelligence pipeline."