Skip to main content
Google Workspace APIs providing access to Gmail, Google Drive, Docs, Sheets, and Calendar. Best for workflows that need to send emails, manage files, read/write spreadsheets, or schedule calendar events. The broadest productivity suite API — covers email, storage, documents, and scheduling in one provider, unlike Notion (structured knowledge) or Zoom (meetings only). 17 example endpoints available through Lava’s AI Gateway. See the Google Workspace API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://www.googleapis.com is supported. Gmail, Drive, Docs, Sheets, and Calendar APIs. Multiple base URLs — use get_provider_docs for endpoint reference. The endpoints below are curated examples.

Endpoints

List Gmail messages

GET https://gmail.googleapis.com/gmail/v1/users/me/messages — Free
const data = await lava.gateway('https://gmail.googleapis.com/gmail/v1/users/me/messages', { method: 'GET' });

List Drive files

GET https://www.googleapis.com/drive/v3/files — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files', { method: 'GET' });

List calendar events

GET https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events', { method: 'GET' });

Get spreadsheet data

GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId} — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}', { method: 'GET' });

Get document content

GET https://docs.googleapis.com/v1/documents/{documentId} — Free
const data = await lava.gateway('https://docs.googleapis.com/v1/documents/{documentId}', { method: 'GET' });

Send an email message

POST https://gmail.googleapis.com/gmail/v1/users/me/messages/send — Free
const data = await lava.gateway('https://gmail.googleapis.com/gmail/v1/users/me/messages/send', { body: {"raw":"<base64-encoded-RFC2822-message>"} });

Permanently delete an email message

DELETE https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId} — Free
const data = await lava.gateway('https://gmail.googleapis.com/gmail/v1/users/me/messages/{messageId}', { method: 'DELETE' });

Create a folder or file metadata in Drive

POST https://www.googleapis.com/drive/v3/files — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files', {
  body: {
"name": "New Folder",
"mimeType": "application/vnd.google-apps.folder"
},
});

Update file metadata (rename, move, etc.)

PATCH https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files/{fileId}', { method: 'PATCH', body: {"name":"Renamed File"} });

Permanently delete a file from Drive

DELETE https://www.googleapis.com/drive/v3/files/{fileId} — Free
const data = await lava.gateway('https://www.googleapis.com/drive/v3/files/{fileId}', { method: 'DELETE' });

Apply updates to a document (insert text, format, etc.)

POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate — Free
const data = await lava.gateway('https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate', {
  body: {
"requests": [
  {
    "insertText": {
      "location": {
        "index": 1
      },
      "text": "Hello, world!"
    }
  }
]
},
});

Append rows to a spreadsheet

POST https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}:append?valueInputOption=USER_ENTERED', { body: {"values":[["Row 1 Col A","Row 1 Col B"]]} });

Update cell values in a spreadsheet

PUT https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED — Free
const data = await lava.gateway('https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{range}?valueInputOption=USER_ENTERED', { method: 'PUT', body: {"values":[["Updated value"]]} });

Create a calendar event

POST https://www.googleapis.com/calendar/v3/calendars/primary/events — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events', {
  body: {
"summary": "Team standup",
"start": {
  "dateTime": "2025-01-15T09:00:00-07:00"
},
"end": {
  "dateTime": "2025-01-15T09:30:00-07:00"
}
},
});

Replace a calendar event entirely

PUT https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', {
  method: 'PUT',
  body: {
"summary": "Updated meeting",
"start": {
  "dateTime": "2025-01-15T10:00:00-07:00"
},
"end": {
  "dateTime": "2025-01-15T11:00:00-07:00"
}
},
});

Partially update a calendar event

PATCH https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', { method: 'PATCH', body: {"summary":"Renamed event"} });

Delete a calendar event

DELETE https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId} — Free
const data = await lava.gateway('https://www.googleapis.com/calendar/v3/calendars/primary/events/{eventId}', { method: 'DELETE' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests