← Catalog

gmail.messages API

gmail.messages

live

Read sent and received emails in a connected Gmail or Google Workspace mailbox, newest first. Search, filter, paginate, or fetch one message_id with its text and HTML body.

live coverage

Unipile: all inputs

✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.

Providers

ProviderStatus
Unipile live

Billing

Unit: per_call · unmatched results billed: no
Charged per read; an empty mailbox is a successful read.

The exact quote is returned by /v1/inspect before every call and held with headroom on execution. The quote is the price floor: if the provider's actual cost overruns it, the run bills the overrun at the same rate, never above the hold. The unused part of every hold is released.

Run it

curl https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{
    "capability": "gmail.messages",
    "input": {  },
    "routing": {"provider": "auto"}
  }'

Input schema

{
  "properties": {
    "account_id": {
      "description": "Account name or ID from gmail.accounts. Optional when exactly one account is connected.",
      "type": "string"
    },
    "after": {
      "description": "ISO 8601 timestamp with timezone.",
      "type": "string"
    },
    "cursor": {
      "type": "string"
    },
    "folder": {
      "type": "string"
    },
    "from": {
      "type": "string"
    },
    "limit": {
      "default": 20,
      "maximum": 100,
      "minimum": 1,
      "type": "integer"
    },
    "message_id": {
      "description": "Read a single email in the selected mailbox; returned IDs can be used as gmail.send in_reply_to.",
      "type": "string"
    },
    "search": {
      "description": "Free-text search in subject and body.",
      "type": "string"
    },
    "thread_id": {
      "type": "string"
    },
    "to": {
      "type": "string"
    }
  },
  "type": "object"
}

Normalized output fields

messages · count · cursor