Auto REST API
The Auto REST API lets your code reach your own Auto Photos library. You can list and search images, download them, and sort them into albums. Each request acts as the user who owns the API key.
The API is plain JSON over HTTPS. Any HTTP client works.
Quickstart
Make a key and send your first request in five minutes.
API keys
Create, store, use and revoke keys.
Reference
Every endpoint, parameter and response, with a request builder you can run.
Base URL
All paths in these docs start from this base URL:
https://app.auto.inc/api
So the full URL for library info is https://app.auto.inc/api/ext/v2/info.
Versions
The current version is v2. Every endpoint lives under /ext/v2.
Auto adds fields to responses over time. Your code must ignore fields it does not know. Auto does not remove or rename fields in a version.
Endpoints
| Method | Path | Does |
|---|---|---|
GET | /ext/v2/info | Counts the images you can read and gives setup help. |
GET | /ext/v2/me | Returns the key owner. |
GET | /ext/v2/images | Lists images, newest first. |
GET | /ext/v2/images/search | Searches images by meaning, place or album. |
GET | /ext/v2/images/{id} | Gets one image with all its renditions. |
GET | /ext/v2/images/{id}/renditions/{name} | Downloads image bytes. |
GET | /ext/v2/albums | Lists albums. |
POST | /ext/v2/albums | Creates an album. |
GET | /ext/v2/albums/{id} | Gets an album. |
PATCH | /ext/v2/albums/{id} | Renames an album or sets its cover. |
DELETE | /ext/v2/albums/{id} | Deletes an album. The images stay. |
POST | /ext/v2/albums/{id}/images | Adds images to an album. |
POST | /ext/v2/albums/{id}/images/removals | Removes images from an album. |
Before you start
Images come from the Auto Photos app. Until the user installs Auto Photos on an iPhone and turns on syncing, the image and album endpoints answer 409. The info endpoint always answers. It tells you what to show the user. See Conventions.
Which guide is for you
- You write code for a server, a script or an app: read Use the API from code.
- You build or run an AI agent that calls HTTP endpoints: read Use the API from an agent. If your agent speaks MCP, the MCP server is a better fit.