Development — entry 035 of 100

Google Slides

Verified Jul 2026

The Google Slides API lets applications programmatically build and edit presentations — adding slides, shapes, tables, images, charts, and speaker notes, and applying batched updates in a single request for efficiency. It's commonly used to auto-generate slide decks from templates and structured data, and requires OAuth 2.0 authorization scoped to the presentation or Drive file being edited. It's free to use, subject to standard Google Cloud project quota limits.

google-workspacepresentationsoauth
AuthenticationOAuthRequires an OAuth flow; expect app registration.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score77out of 100
Authentication8/25OAuth flow required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 77 on greatapis.com
<a href="https://greatapis.com/api/google-slides/"><img src="https://greatapis.com/badge/google-slides.svg" alt="Scored 77 on greatapis.com"></a>

Auth quickstart

  1. Register an app / run the OAuth flow to obtain a bearer token.
  2. Send it as an Authorization headerAuthorization: Bearer <token>
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://slides.googleapis.com/
Auth
Oauth2Oauth2c
presentations5
POST/v1/presentations
Request body

application/jsonPresentation

Responses
StatusDescriptionSchema
200Successful responsePresentation
GET/v1/presentations/{presentationId}
Parameters
NameInRequiredType
presentationIdpathyesstring
Responses
StatusDescriptionSchema
200Successful responsePresentation
GET/v1/presentations/{presentationId}/pages/{pageObjectId}
Parameters
NameInRequiredType
presentationIdpathyesstring
pageObjectIdpathyesstring
Responses
StatusDescriptionSchema
200Successful responsePage
GET/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail
Parameters
NameInRequiredType
presentationIdpathyesstring
pageObjectIdpathyesstring
thumbnailProperties.mimeTypequerynostring
thumbnailProperties.thumbnailSizequerynostring
Responses
StatusDescriptionSchema
200Successful responseThumbnail
POST/v1/presentations/{presentationId}:batchUpdate
Parameters
NameInRequiredType
presentationIdpathyesstring
Request body

application/jsonBatchUpdatePresentationRequest

Responses
StatusDescriptionSchema
200Successful responseBatchUpdatePresentationResponse

Try it

Developer reference

Base URLhttps://slides.googleapis.com
Rate limit

Google's Slides API usage-limits docs (developers.google.com/workspace/slides/api/limits) publish flat per-minute quotas: Read requests are capped at 3,000/minute/project and 600/minute/user/project; expensive read requests (presentations.pages.getThumbnail) at 300/minute/project and 60/minute/user/project; and Write requests at 600/minute/project and 60/minute/user/project. Exceeding a limit returns a 429 (Too many requests) HTTP status; Google recommends a truncated exponential backoff before retrying. Standard use remains free under these quotas, though Google's docs note overage past the published limits is planned to incur billing later in 2026.

Key endpoints
  • POST/v1/presentations
  • GET/v1/presentations/{presentationId}
  • GET/v1/presentations/{presentationId}/pages/{pageObjectId}
  • GET/v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail
  • POST/v1/presentations/{presentationId}:batchUpdate