Angelcam Live Camera Snapshot avatar

Angelcam Live Camera Snapshot

Pricing

Pay per usage

Go to Apify Store
Angelcam Live Camera Snapshot

Angelcam Live Camera Snapshot

Take a live JPEG snapshot from all or selected cameras of your Angelcam account. Connect once with OAuth, then run on demand, on a schedule, or from an AI agent.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Angelcam

Angelcam

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

Take a live JPEG snapshot from all or selected cameras of your Angelcam account in seconds. Connect your account once, then run it on demand, on a schedule, from your code, or from an AI agent.

Free Actor – there is no per-result fee. You only pay for Apify platform usage of each run, according to your Apify plan.

📸 What does Angelcam Live Camera Snapshot do?

It connects to your Angelcam account and, for every camera you choose:

  • takes a live snapshot (a fresh frame, not a cached thumbnail),
  • saves the JPEG to your Apify storage and gives you a permanent link to it,
  • reports the camera's status, so you know when a camera is offline.

It works with your own cameras and with cameras other Angelcam users shared with you.

💡 What can you check with a snapshot and AI?

Run the Actor on a schedule and let an AI model look at each snapshot. It can answer a yes-or-no question, give a count or a status, or spot a change from an earlier or a reference image. It works best for things that stay true for minutes or hours, so nobody has to drive out or scroll through footage to check. For example:

  • Closing checks – After hours, are the gates, roll-up doors and barn doors closed? Are the dumpster lids shut? Are the exterior lights on after dark? Did the store open on time?
  • Safety and compliance – Are the fire exits, aisles and fire lanes clear? Copy the timestamped photos to your own storage to keep them as proof for inspectors and insurers.
  • Construction sites – Have the expected materials arrived? Is the equipment back in its assigned area overnight? What changed on site since yesterday?
  • Loading docks and yards – Which dock doors are occupied? Is the delivery lane clear? How many vehicles are on site? Is an EV charging bay blocked?
  • Property management – Is the dumpster full, or has something been dumped next to it? Is snow blocking the entrance? Is there standing water in the garage?
  • Farms and stables – Is the water trough empty? Are the animals at the feeder? Has the horse been lying down for several checks in a row? Is a cow or mare in the birthing pen showing signs of labor?
  • Equipment rooms – Is the gauge needle within its marked range? Is a machine warning light on? Is the greenhouse vent open?
  • Retail – Is a shelf empty? Is the promotional display set up as agreed?
  • Camera health – Is each camera still showing what it should, or is the lens blocked, dirty or knocked out of position?

A snapshot every few minutes does not replace an alarm system or real-time video analytics. Use it for checks, not for catching events as they happen.

The Actor takes the snapshots; the AI check runs in your agent or workflow. Ask an AI agent over MCP, or send imageUrl to an AI step in Make, n8n or Zapier. Set maxWidth to send smaller images to the model.

💰 How much does the AI check cost?

The AI check is billed by your AI model provider, separately from Apify. We tested one question, "Is the gate open?", on the same night-time snapshot of a shop entrance with several models and settings. All of them correctly answered that the gate was open. Monthly cost assumes 30 days and covers only the AI model, not Apify platform usage of the runs:

Model and image sizePer checkEvery 5 min (8,640 checks)Every 30 min (1,440)Every hour (720)Model's confidence
Claude Opus 5.5, 1920×1080$0.01366$117.99$19.66$9.830.85
Claude Opus 5.5, 1024×576$0.00608$52.53$8.76$4.380.85
Claude Opus 5.5, 512×288$0.00371$32.04$5.34$2.670.80
gpt-6-luna, detail low$0.000073$0.63$0.10$0.050.91
gpt-6-luna, detail high$0.000297$2.57$0.43$0.210.96
  • A smaller or cheaper model is usually enough for simple yes-or-no checks. On this test, gpt-6-luna cost about 12 to 50 times less per check than Claude Opus 5.5 with the smallest image.
  • Claude Opus 5.5 has no low or high detail setting, so the way to lower its cost is to send a smaller image with maxWidth.
  • Checking less often cuts the cost the most. Pick the longest interval that still catches the problem in time.

Tested on 23 September 2026. The prices are for these models at that date and will change. Check your provider's current pricing.

🗂️ What data do you get?

FieldExampleDescription
cameraId12345Angelcam camera ID
cameraNamePaddock NorthCamera name in MyAngelcam
sourceownedowned (your camera) or shared (shared with you)
statusonlineonline (snapshot taken), offline or error
snapshotTakenAt2026-09-23T14:32:05ZWhen the snapshot was taken (UTC)
imageUrlhttps://api.apify.com/v2/key-value-stores/…/camera-12345.jpgLink to the JPEG
errornullWhy no snapshot was taken, if so

🚀 How to take a snapshot of your cameras

  1. Create a free Apify account if you don't have one.
  2. Connect Angelcam: open my.angelcam.com/connect/apify, click Create an account and connect (or Sign in and connect if you already use Angelcam) and allow access.
  3. Copy the connection token shown on the page.
  4. Open this Actor, paste the token into Angelcam connection token and click Start.
  5. Get your snapshots in the Output tab, or download them as JSON, CSV or Excel.

Want a new snapshot regularly? Add an Apify Schedule to the Actor, for example every 2 minutes.

No cameras in your Angelcam account yet? See the FAQ.

⬇️ Input

Only the connection token is required.

FieldRequiredDescription
refreshTokenyesConnection token from my.angelcam.com/connect/apify. Kept secret by Apify.
cameraIdsnoCamera IDs to take a snapshot from. Leave empty for all cameras, including cameras shared with you.
maxWidthnoDownscale snapshots to at most this width in pixels, e.g. to send smaller images to an AI model. Leave empty for the original resolution.
{
"refreshToken": "your-connection-token",
"cameraIds": ["12345", "67890"],
"maxWidth": 1280
}

⬆️ Output

One dataset item per camera. In the Apify Console you see a table with a thumbnail of each snapshot.

[
{
"cameraId": "12345",
"cameraName": "Paddock North",
"source": "owned",
"status": "online",
"snapshotTakenAt": "2026-09-23T14:32:05Z",
"imageUrl": "https://api.apify.com/v2/key-value-stores/<store-id>/records/camera-12345.jpg",
"error": null
},
{
"cameraId": "67890",
"cameraName": "Barn",
"source": "shared",
"status": "offline",
"snapshotTakenAt": null,
"imageUrl": null,
"error": "Camera is offline"
}
]
  • Offline cameras and camera IDs that are not found are still reported, so an automation can tell "camera offline" apart from "no data".
  • Items are saved as soon as each camera is done, so their order can differ from cameraIds.
  • The run's status message summarizes the result, e.g. "4 of 5 snapshots taken · 1 camera offline".

🤖 Use it from AI agents and your code

MCP (Claude, Cursor, ChatGPT and other MCP clients)

Add the Apify MCP server with this Actor as a tool:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=angelcam_shared/angelcam-live-snapshot"
}
}
}

Then ask, for example: "Take a snapshot of my Paddock camera and tell me if the horse is lying down." The agent needs your connection token as the refreshToken input. Getting it requires signing in to Angelcam in a browser, so a person has to do step 2 above once.

API

Run the Actor and get the results in one call:

curl -X POST "https://api.apify.com/v2/acts/angelcam_shared~angelcam-live-snapshot/run-sync-get-dataset-items" \
-H "Authorization: Bearer <APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"refreshToken": "<ANGELCAM_CONNECTION_TOKEN>"}'

Python

from apify_client import ApifyClient
client = ApifyClient('<APIFY_TOKEN>')
run = client.actor('angelcam_shared/angelcam-live-snapshot').call(
run_input={'refreshToken': '<ANGELCAM_CONNECTION_TOKEN>'}
)
for item in client.dataset(run.default_dataset_id).iterate_items():
print(item['cameraName'], item['status'], item['imageUrl'])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('angelcam_shared/angelcam-live-snapshot').call({ refreshToken: '<ANGELCAM_CONNECTION_TOKEN>' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.cameraName, item.status, item.imageUrl));

You can also connect the Actor to Zapier, Make, n8n, Slack, Google Drive and more with Apify integrations, for example to send each snapshot to a chat.

❓ FAQ

How much does it cost?

The Actor itself is free. Each run uses a small amount of Apify platform resources, billed according to your Apify plan. If you check the snapshots with an AI model, your model provider bills that separately. See How much does the AI check cost? above.

Does it record video?

No. Each run takes one still image per camera at that moment. For continuous recording, use Angelcam's cloud recording in MyAngelcam.

How often can I take snapshots?

As often as you schedule the Actor, e.g. every few minutes with an Apify Schedule. Each run takes only a few seconds and reuses its Angelcam access between runs.

What can the Actor access in my Angelcam account?

The Actor only lists your cameras and takes snapshots. The connection keeps working as long as the Actor uses it (e.g. on a schedule) and expires after 30 days without use; then connect again and update the input. You can revoke it anytime in MyAngelcam → My account → Application Access.

Where are my snapshots stored?

In your own Apify account, in the storage of each run. Apify keeps them according to your plan's data retention. To keep them longer, copy them with an integration (e.g. a webhook, S3 or Google Drive).

Which cameras does it work with?

Any camera connected to your Angelcam account, including cameras shared with you by other Angelcam users.

Don't have a camera connected to Angelcam yet?

Try the Angelcam demo account, or check whether your own camera works with Angelcam in MyAngelcam.

Why did my run fail?

Status messageWhat to do
Your Angelcam connection expired or was revokedThe token was not used for 30 days or was revoked. Connect again and update the input.
Input field "refreshToken" is requiredPaste the connection token from the Connect page.
Could not reach the Angelcam APIA temporary problem. The next run will try again.

A camera that is offline does not fail the run: it is reported with status: "offline".

I found a bug or have an idea

Please open an issue in the Actor's Issues tab. See the CHANGELOG.md for what changed in each version.