Hi I am curious about any cameras (mirrorless or similar) or camcorders on the market that can be controlled programatically via an API of some kind, ideally over USB, though I would be interested in blutooth as well.

Camera controls to be supported:

  • Aperture
  • Shutter speed
  • ISO
  • Lens focus
  • Start/stop video recording
  • Video recording settings such as frame size, aspect ratio, encoder quality, etc

I am not interested in webcams or IP cameras, the unit should have the ability to write to its own storage medium such as SD card.

Edit: Which camera models or products lines have open source or otherwise best-documented APIs.

  • 1
    Almost all camera manufacturers advertises to have some kind of USB API, because they support PC side remote control already and all they need is share the libraries. Those SW API are open but the USB command set probably is not public. May 7 '20 at 4:46
  • By lens focus, do you mean manual focus by wire, or would start AF and focus point selection be sufficient? May 11 '20 at 8:17

A good place to start would be the list of suported cameras from an open souce project like DigiCamControl


Some settings are too much to ask, like encoding or resolution of video. Do that once on the camera and forget about it.


Pretty much all of them, with very few exceptions.

  • is manual focus control (as the OP requested) that common in such APIs? May 7 '20 at 14:13
  • With an "open" (i.e. public and documented) API so that $random_coders can write their own control application?
    – xenoid
    May 7 '20 at 21:20
  • @rackandboneman If the camera has the capability of being remotely manually focused it is usually there. This, of course would require a camera with a focus-by-wire manual focus protocol.
    – Michael C
    May 8 '20 at 2:38
  • @xenoid Canon does. As protective as they are of much intellectual property, if they publish the CDKs, I'd be very surprised if most others do not.
    – Michael C
    May 8 '20 at 2:39
  • Got the URL for the Canon specs? I just find hints that there are libraries, without source code.
    – xenoid
    May 8 '20 at 13:06

The people contributing to gphoto and entangle have worked on this for the linux community, with varying amounts of input from the camera companies.This is their list of supported devices and the remote control support.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.