Skip to main content
The Camera Remote Web API is a community-built developer tool and is not officially supported by Sony. Only the Camera Remote SDK (C++/C#) is an official Sony product.
The Camera Remote Web API provides HTTP endpoints to control Sony cameras connected via USB or network. It runs as a local server and supports multi-camera simultaneous operation.

Connection Modes

remote

Full camera control: shooting, settings, live view. Auto-transfer images to host PC.

remote-transfer

Camera control + explicit SD card file access. Most capable mode.

contents

SD card file access only. No shooting or settings control.

Architecture

The Camera Remote Web API is an HTTP server built on Sony’s native Camera Remote SDK. It translates RESTful requests into native SDK calls, enabling camera control from any language or tool that can make HTTP requests. For TypeScript projects, the Client SDK wraps this API with managed lifecycle and typed methods.

Quick Start

HTTP API Quickstart

Discover, connect, and shoot with curl in under 5 minutes
1

Discover cameras

curl http://localhost:8080/api/cameras
2

Connect

curl -X POST http://localhost:8080/api/cameras/{id}/connection \
  -H "Content-Type: application/json" \
  -d '{"mode": "remote"}'
3

Set Priority Key

curl -X PUT http://localhost:8080/api/cameras/{id}/priority-key \
  -H "Content-Type: application/json" \
  -d '{"setting": "pc-remote"}'
Priority key must be set to pc-remote before the camera accepts remote commands.
4

Configure settings

curl -X PUT http://localhost:8080/api/cameras/{id}/properties/iso \
  -H "Content-Type: application/json" \
  -d '{"value": "400"}'
5

Shoot

curl -X POST http://localhost:8080/api/cameras/{id}/actions/af-shutter
6

Disconnect

curl -X DELETE http://localhost:8080/api/cameras/{id}/connection

Base URL

http://localhost:8080
The server runs locally. The port is configurable via --port flag or the TypeScript CameraServer({ port }) option.

Response Format

All endpoints return JSON with a consistent shape:
{
  "success": true,
  "message": "Description of what happened",
  "camera": {
    "connected": true,
    "model": "ILCE-9M3",
    "id": "D10F60149B0C"
  },
  "data": { ... }
}
Errors return "success": false with an HTTP status of 400, 404, or 500.

Compatibility

Not all APIs are supported on every camera model. See the Compatibility page for per-camera API support, connection mode requirements, and OS compatibility.