How we check
Last updated 19 September 2026
Most webcam directories are link lists. A camera goes in once, a green dot goes beside it, and nothing ever looks again, so the list rots quietly and you find out by clicking. Wild Watcher checks every camera it lists, every 3 hours, and publishes what the checks found including when the answer is unflattering.
What a check actually does
It depends on how the operator publishes the camera, and in every case it asks the operator’s own systems rather than guessing:
- Cameras published as a YouTube live stream are verified through YouTube’s official oEmbed endpoint, which answers two questions at once: does this stream still exist, and does the rights holder still permit it to be embedded. If a stream restarted under a new id, we re-resolve it from the operator’s channel through the YouTube Data API.
- Cameras shown inside an operator’s own page are checked by fetching that page.
- Cameras we only ever link to (because their licence does not permit embedding, or because the operator’s security policy says so) are checked by confirming the operator’s page is still reachable. That is a weaker claim than a verified stream, and those cameras never appear in random discovery.
We never touch the video itself. No proxy, no re-encoding, no copy on our servers, no reading of anyone’s media endpoints. When you press play you are watching the operator’s own player, which they control and can withdraw at any time.
The labels, and exactly what each one claims
A label describes the most recent check, not this minute. Checks run every 3 hours, so wherever a label appears its age appears beside it (“Available at last check · 14 minutes ago”), so you can weigh it yourself.
Available at last check. The most recent check succeeded, and it ran within the last 6 hours. It means the operator’s stream or page answered. It does not mean an animal is on screen, or that anything is happening: a check cannot see the picture, and we never claim it can.
Unavailable at last check. A check ran, got an answer, and the answer was no. Often a stream between restarts. Cameras in this state stay on the map rather than being hidden, because a directory that silently drops what is broken is a directory you cannot audit.
Availability not confirmed. The check itself failed to get an answer, so we do not know. This label is the one that matters most, and the next section is about why.
Not confirmed recently. The last check succeeded, but more than 6 hours ago: two missed runs. A good answer from yesterday is not a claim about today, so it stops counting as available until the checks catch up.
Not checked yet. A camera that has just been added.
Two kinds of check sit behind these labels, and the camera panel says which one applied. A stream check asks YouTube whether the operator’s stream exists and may be embedded. A page check only confirms that the operator’s camera page responds, which is a weaker claim.
One more thing no check can tell you: whether the video will start in your browser. If a player is slow to start we say it is taking longer than usual and offer the original camera. We never turn a slow start into “offline”.
When you see LIVE. None of the labels above ever says “live”, because a check hours old cannot know what is happening now. The word appears in one place only: beside a camera you are watching, once the operator’s own player reports that it is playing a live broadcast rather than a recording. That is the player speaking about this second, in your browser, and it still says nothing about whether an animal is in the picture.
On the globe, a place glows teal when at least one of its cameras passed a check in the last 6 hours. Places without that stay on the globe, quieter, rather than disappearing.
Why “not confirmed” exists
A check can fail for reasons that have nothing to do with the camera: an API quota we have spent, a request that timed out, an outage on our side rather than the operator’s. The tempting thing is to record those as unavailable, because it keeps the data tidy and nobody would notice.
It would also be a lie, and a compounding one: it blames an operator for our failure, and it permanently corrupts the uptime history below. So a check that did not reach a verdict is recorded as unknown, kept out of every uptime figure on this site, and counted separately so the gap is visible instead of merely absent. We would rather show you a camera we cannot vouch for this minute than quietly invent a verdict for it.
What the uptime figures mean
Every camera page carries a line like “Up 98% of 112 checks over 14 days”. The second half is the part that matters. A bare “98% uptime” is a number any directory could invent; the sample behind it is what makes the first half checkable.
- The percentage counts only checks that got an answer. Unknowns are excluded from both halves of the fraction, so it never means “98% of the times we managed to ask”.
- A camera with no history says so rather than showing an encouraging blank. A camera added an hour ago has not earned a number yet.
- Individual checks are kept for 90 days and then deleted, but each day is first folded into a permanent per-camera summary. Those summaries are never discarded, so the window these figures are drawn from gets longer on its own, every day, without anyone doing anything.
The camera list itself is rebuilt from source once a day, so new cameras appear and retired ones drop out without waiting for anyone to notice.
Where the cameras come from
Every camera belongs to the organisation that operates it: a national park service, a conservation charity, an aquarium, a research station on the Antarctic coast. For each source we record the licence, whether embedding is permitted, whether the camera list may be obtained the way we obtain it, and when a human last read the terms. Two sources are link-only on purpose: one because its licence is non-commercial, one because their security policy asked not to be framed.
That register is public. It is on the report a camera page, along with the route for any operator who wants their camera removed, which we will do without argument.
What we still do not do
There is no automated wildlife detection here. Where a camera lists the species you might see, that is what the operator says lives at that location, not a claim that anything is visible right now. One camera, a rotating feed that moves between several locations, has a pin less precise than it looks, and says so on its own page rather than in a footnote.