EvercamDevelopers

Search

Search guides, documentation and the API reference

Quickstart

Sign in, find a camera and render its latest image — in one page.

Four requests take you from nothing to a live image: sign in, list your projects, list that project's cameras, then fetch a snapshot. Everything below is plain HTTP — no SDK required.

From nothing to an image

Sign in

POST/v2/auth/loginDash API

Exchange an email and password for a JWT.

curl -X POST "https://media.evercam.io/v2/auth/login" \
  -H "Content-Type: application/json" \
  -d '{"username": "you@example.com", "password": "…"}'

Keep the token — every request below sends it as a bearer credential.

List your projects

A project is a construction site. Each has an exid, the string identifier you use everywhere else.

GET/v2/projectsDash API

Returns the projects your account can see.

Terminal
curl -H "Authorization: Bearer $EVERCAM_TOKEN" \
  "https://media.evercam.io/v2/projects"

List that project's cameras

GET/v2/projects/{project_exid}/camerasDash API

Returns the cameras in one project.

Terminal
curl -H "Authorization: Bearer $EVERCAM_TOKEN" \
  "https://media.evercam.io/v2/projects/$PROJECT_EXID/cameras"

Cameras have an exid too, plus a status. Prefer one reporting online.

Online does not guarantee an image

A camera can report status: "online" and still return 404 from the snapshot endpoint, because no image is currently stored for it. Treat that as an ordinary empty state, not an error — try another camera.

Render a snapshot

GET/v2/cameras/{camera_exid}/recordings/snapshots/latestDash API

The most recent stored image for a camera.

The response JSON puts the image in data as a data:image/jpeg;base64,… URI, so it drops straight into an img tag:

app/page.tsx
const res = await fetch(
  `https://media.evercam.io/v2/cameras/${cameraId}/recordings/snapshots/latest`,
  { headers: { Authorization: `Bearer ${token}` } },
)

const { data, created_at } = await res.json()

return <img src={data} alt={`Captured ${created_at}`} />

Try it

Where to go next