WhatsUpCams Scraper - Live HLS Streams, Snapshots & Weather avatar

WhatsUpCams Scraper - Live HLS Streams, Snapshots & Weather

Pricing

$10.00 / 1,000 visionsync results

Go to Apify Store
WhatsUpCams Scraper - Live HLS Streams, Snapshots & Weather

WhatsUpCams Scraper - Live HLS Streams, Snapshots & Weather

Scrape WhatsUpCams webcams worldwide, with the densest coverage in Croatia and the Adriatic. Verified HLS stream URLs, live snapshots with their age in seconds, GPS coordinates and current weather.

Pricing

$10.00 / 1,000 visionsync results

Rating

0.0

(0)

Developer

the anh nguyen

the anh nguyen

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

5 days ago

Last modified

Categories

Share

Scrape WhatsUpCams webcams worldwide, with the densest coverage in Croatia and the Adriatic. Verified HLS stream URLs, live snapshots with their age in seconds, GPS coordinates and current weather.

What does this Actor return?

Every field below was checked against live WhatsUpCams pages on 2026-08-21.

  • Live HLS stream URL, fetched and confirmed to return a real playlist before it ships
  • Live snapshot URL with ageSeconds -- the frame's actual age, read from the CDN
  • GPS coordinates taken from the camera's own map position on the page
  • Current weather at those coordinates: temperature, feels-like, conditions, wind, humidity, UV index
  • Timezone, elevation, sunrise and sunset
  • Auto-tagging (beach, harbour, city, mountain, wildlife, traffic, landmark)
  • Location search -- type a city name, no URLs needed

The snapshot CDN is unreliable. cdn.whatsupcams.com answered 502 after thirty seconds on two of three consecutive requests for a file it served in 0.15 s on the third, and it timed out for one camera during a platform run while serving another in the same run. The check is retried once and then gives up: snapshot.state reads "unverified" rather than "dead", because a check that could not complete is not evidence about the camera. When that happens the record still ships if the stream verified, and the snapshot URL is simply absent rather than present and untested.

Cameras whose feed has stopped are dropped, not billed. WhatsUpCams keeps listing them: at the time of writing the Bale Tomaso Bembo Square camera still has a page, and its playlist answers 404 while its "snapshot" is a frame from May 2023.

Why scrape WhatsUpCams?

WhatsUpCams provides high-quality HD streams of European tourist destinations, focusing on Croatia, Italy, and Mediterranean coastlines. Perfect for travel agencies, destination marketing, tourism analytics, and coastal monitoring applications.

How to use

  1. Create a free Apify account at apify.com if you don't have one.
  2. Open this Actor and type a location (e.g., "Split") -- or paste specific URLs.
  3. Click Run and get stream URLs, live snapshots, coordinates and weather.
  4. Download results as JSON, CSV, or Excel from the Output tab.

Search by location (no URLs needed)

{
"location": "Senj"
}

Just type a city, country, or landmark. The Actor auto-discovers webcams on WhatsUpCams for that location.

Search by URL

{
"startUrls": [
{ "url": "https://www.whatsupcams.com/en/webcams/croatia/lika-senj/senj/senj-harbour-webcam/" },
{ "url": "https://www.whatsupcams.com/en/webcams/croatia/lika-senj/senj/live-webcam-senj-riva-seafront-croatia/" }
]
}

Output example

A record from an actual run, not an illustration:

{
"visionSyncId": "VS-WUC-senj-harbour-webcam",
"url": "https://www.whatsupcams.com/en/webcams/croatia/lika-senj/senj/senj-harbour-webcam/",
"title": "Senj Harbour Webcam – Breakwater & Lighthouse Live View",
"description": "Watch the Senj harbour webcam live. View the breakwater, lighthouse, sea conditions and coastal activity in real time on Croatia’s Adriatic coast.",
"stream": {
"url": "https://cdn-006.whatsupcams.com/hls/hr_senj12.m3u8",
"type": "hls",
"isLive": true,
"lastVerified": "2026-08-21T18:41:10.831Z",
"state": "verified"
},
"snapshotUrl": "https://cdn.whatsupcams.com/snapshot/hr_senj12.jpg",
"snapshot": {
"url": "https://cdn.whatsupcams.com/snapshot/hr_senj12.jpg",
"state": "verified",
"ageSeconds": 98,
"source": "provider"
},
"tags": [
"beach",
"harbor"
],
"enrichment": {
"location": {
"city": "Senj",
"country": "Hrvatska",
"countryCode": "HR",
"lat": 44.989419,
"lon": 14.8981,
"coordsSource": "map-embed"
},
"weather": {
"temp": "24.9°C",
"feelsLike": "29.7°C",
"condition": "Rain showers: Slight",
"wind": "5 km/h",
"humidity": "89%",
"uvIndex": 0
},
"timezone": "Europe/Zagreb",
"elevation": 0,
"sunrise": "2026-08-21T06:09",
"sunset": "2026-08-21T19:57"
},
"provider": "whatsupcams",
"timestamp": "2026-08-21T18:41:10.831Z"
}

Filter live cameras only

Set filterLiveOnly: true to skip offline cameras -- useful for scheduled monitoring runs.

{
"location": "Senj",
"filterLiveOnly": true
}

How much will it cost?

This Actor uses Pay-Per-Event pricing: $0.002 per result until 2026-09-04, $0.01 after.

VolumeUntil 2026-09-04From 2026-09-04
100 results$0.20$1.00
1,000 results$2.00$10.00
10,000 results$20.00$100.00

You are only charged for a result that carries a verified asset. A camera whose stream returns 404, or whose only still image has not been rewritten in weeks, is reported in the log and skipped rather than billed. Titles and descriptions on their own are never charged for.

Programmatic access (API)

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("zPSQzGVfEE9VXG7Sh").call(run_input={
"location": "Senj"
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item.get("tags"), item["enrichment"]["weather"]["temp"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('zPSQzGVfEE9VXG7Sh').call({
location: 'Split',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title, item.tags, item.enrichment?.weather?.temp));

Schedule for monitoring

Build a time series of snapshots and weather by scheduling this Actor:

{
"actId": "zPSQzGVfEE9VXG7Sh",
"cronExpression": "0 */6 * * *",
"input": {
"location": "Senj",
"filterLiveOnly": true,
"maxRequestsPerCrawl": 20
}
}

Tips

  • Search by location -- type a city name instead of hunting for URLs.
  • Use filterLiveOnly for scheduled runs to skip offline cameras and save costs.
  • Use the tags field to filter results by category (beach, city, mountain, etc.).
  • Pass a listing page URL to auto-discover all cameras on that page.
  • Schedule runs every 6 hours to track weather changes at camera locations.

This Actor extracts publicly available data from WhatsUpCams camera pages. Web scraping of publicly accessible information is generally permitted under applicable law. Always review the target site's Terms of Service and applicable regulations (including GDPR for EU data) before use. This Actor does not bypass authentication, paywalls, or CAPTCHAs. Use responsibly and respect rate limits.

Part of VisionSync Suite

Search all 12 providers at once with VisionSync Hub -- just type a location.

ProviderLink
EarthCamOpen in Store
SkylineWebcamsOpen in Store
Explore.orgOpen in Store
WebcamtaxiOpen in Store
WindyOpen in Store
YouTube LiveOpen in Store
WorldcamOpen in Store
Webcamera24Open in Store
IPLiveCamsOpen in Store
GeoCamOpen in Store
OpenWebcamDBOpen in Store