fshy

Home / Google

Google Photos Library API (append-only upload)

developers.google.com/photos/library/guides/upload-mediaMediastorage/google-photos-library-apiJSONcomparereport an errorprovider JSON

Free allowance
No quota of its own — but every item uploaded counts against the user's Google Account storage at original quality.
Verdict
fails: quotathe free allowance is too small to matter
Cost
free tier
Identity
institution?placeholder, not evidence; card unknown, phone unknown
Binding limit
noneno named constraint binds
Evidence
reported2 sources; a third party said so
Freshness
stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
Free tierNo quota of its own — but every item uploaded counts against the user's Google Account storage at original quality. 200 MB max per photo, 20 GB max per video.
unit GB; metered on stored-bytes
Pricenone stated
Identityinstitution (inferred, not read) not published
EgressMedia bytes served via baseUrl, 75,000 requests/project/day; no documented per-GB charge but the underlying storage is metered.
Per-object capnot stated
Retentionnot stated
Interfacerest, rclone rest
ToolingPhotos Library API (photoslibrary.appendonly scope), uploads endpoint + batchCreate; no rclone backend. Unofficial wrappers are thin.
Composes with20 GB per video x N videos is the only interesting shape, but it does NOT escape the 15 GB account quota — this is billing-avoidance-free. Not a multiplier, a quota consumption path.
ReliabilityAPI uploads skip the 'Storage saver' free-compression path, so they consume quota fastest of any Google surface. Strictly worse than Drive for bulk data.
Parsed numbers
  • has-free-tier 1
Evidence 2
datesourcewhat it proved
2026-10-21developers.google.com/photos/library/guides/upload-media'All uploads are stored at original quality, counting towards the user's Google Account storage if they exceed 25MB per user' + max 200 MB photo / 20 GB video
2026-10-21developers.google.com/photos/overview/api-limits-quotas'The quota limit for requests to the Library API is 10,000 requests per project per day'; media bytes 75,000/day
More fields 1
dead end{"failure_class": "quota","why": "No quota of its own — but every item uploaded counts against the user's Google Account storage at original quality. 200 MB max per photo, 20 GB max per video.","retry_when": null,"first_recorded": "2026-10-21"}
Unknown values 4
  • per object cap notes: the field may be stated in a source that was not read
  • per object cap stated: the field may be stated in a source that was not read
  • retention notes: the field may be stated in a source that was not read
  • retention stated: the field may be stated in a source that was not read