gmail.messages API
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.
Unipile:
all inputs
✓ marks a combination proven with a real provider call. Others are wired and unit-tested; their first live run verifies them.
| Provider | Status |
|---|---|
Unipile |
live |
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.
curl https://api.routergrowth.com/v1/run \ -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \ -d '{ "capability": "gmail.messages", "input": { }, "routing": {"provider": "auto"} }'
{
"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"
}
messages · count · cursor