GetResponse Contacts & Newsletters
For email marketers on GetResponse: find who is on each list, add new subscribers, keep their tags and custom fields current, and see what a contact opened or clicked. Then check how each newsletter performed, from opens and clicks to bounces and unsubscribes.
Connect this API to an AI agent Browse all specs
What you can do with GetResponse Contacts & Newsletters via MCP
Every endpoint below becomes a governed tool your AI agent (Claude, ChatGPT, or a customer-facing VX agent) can call — with scoped permissions, sandbox testing, and audit logs.
| Method | Path | Operation | Description |
|---|---|---|---|
| GET | /campaigns |
listCampaigns | List contact lists (GetResponse calls them campaigns) |
| GET | /contacts |
listContacts | Search contacts by email, name, list or sign-up date |
| POST | /contacts |
createContact | Add a contact to a list |
| GET | /campaigns/{campaignId}/contacts |
listCampaignContacts | List the contacts on one list |
| GET | /contacts/{contactId} |
getContact | Get a contact's details, tags and custom field values |
| POST | /contacts/{contactId} |
updateContact | Update a contact's name, list, tags or custom fields |
| GET | /contacts/{contactId}/activities |
getContactActivities | See which emails a contact opened, clicked or received |
| GET | /tags |
listTags | List the tags in the account |
| GET | /custom-fields |
listCustomFields | List custom field definitions and their ids |
| GET | /newsletters |
listNewsletters | List newsletters with their status and send date |
| GET | /newsletters/{newsletterId} |
getNewsletter | Get one newsletter's subject, sender and content |
| GET | /newsletters/{newsletterId}/statistics |
getNewsletterStatistics | Get opens, clicks, bounces and unsubscribes for one newsletter |
| GET | /newsletters/statistics |
getNewslettersStatistics | Get combined statistics for newsletters over a date range |
| POST | /contacts/{contactId}/tags |
setContactTags | Add tags to a contact without removing existing ones |
| POST | /contacts/{contactId}/custom-fields |
setContactCustomFields | Set custom field values on a contact without touching the others |
Authentication
api-key
API key — sent as the X-Auth-Token header
A GetResponse API key, sent in the X-Auth-Token header with the api-key prefix: X-Auth-Token: api-key <your key>.
How to get a credential
- Sign in to GetResponse.
- Open Tools > Integrations and API > API (or go to app.getresponse.com/api).
- Click Generate API key, name it (e.g. VX Agents) and confirm.
- Copy the key and store it as
api-key <your key>(with theapi-keyprefix and a space).
Permissions used
| Credential | Operations |
|---|---|
| API key (full access to the account) | read: listCampaigns, listContacts, getContact, getContactActivities, listCampaignContacts, listTags, listCustomFields, listNewsletters, getNewsletter, getNewsletterStatistics, getNewslettersStatistics; write: createContact, updateContact, setContactTags, setContactCustomFields |
Common errors
| Status | Meaning | Fix |
|---|---|---|
| 401 | Key missing, revoked, or sent without the api-key prefix |
Store the value as api-key <key>; generate a new key if it was deleted. |
| 403 | The account plan or user role does not allow this call | Use an owner key, or check the plan includes the feature. |
| 400 | Invalid field, e.g. an unknown campaignId or a bad email |
Read message and context in the response; look ids up with listCampaigns or listCustomFields. |
| 409 | The contact is already on that list | Find it with listContacts and update it instead. |
| 429 | Throttled (about 30,000 calls per 10 minutes, 80 per second) | Wait for the time in X-RateLimit-Reset and retry. |
Store the key as an API key credential in VX Agents; never paste it into chat. GetResponse MAX accounts use a different host (api3.getresponse360.com or .pl) and an X-Domain header, which this spec does not cover.
Usage guide
Setup
- Credential: a GetResponse API key (Tools > Integrations and API > API), stored as an API key credential with the prefix, i.e. the value
api-key <your key>. It is sent inX-Auth-Token. - Worth pinning: the
campaignIdof the list you work with most (get it fromlistCampaigns). In GetResponse a "campaign" is a contact list, not a send.
Look up and update a subscriber
listContactswithquery[email](orquery[name],query[campaignId],query[createdOn][from]) to find the contact and itscontactId.getContactfor details, tags and custom field values;getContactActivitiesfor the opens, clicks and sends behind it.- To add someone:
createContactwithemailandcampaign: {"campaignId": "..."}, optionallyname,tags: [{"tagId": "..."}]andcustomFieldValues: [{"customFieldId": "...", "value": ["..."]}]. It returns 202 and the contact shows up a few seconds later; 409 means the email is already on that list. - To change someone:
setContactTags(adds tags, keeps the rest) orsetContactCustomFields(sets only the fields given). UseupdateContactfor name, list or score changes. Ids come fromlistTagsandlistCustomFields.
Confirm with the user before adding contacts or changing their data: it can trigger autoresponders and workflows.
Report on newsletters
listNewsletterswithquery[sendOn][from]/[to]orquery[campaignId];query[status]isenabledordisabled.getNewsletterStatisticsfor one newsletter, orgetNewslettersStatisticswithquery[newsletterId]orquery[campaignId]andquery[groupBy](total,hour,day,month) for a period.getNewslettershows the subject, sender and content.
Good to know
- Dates are ISO 8601 (
2026-10-01or2026-10-01T00:00:00+0000). - Lists page with
pageandperPage;fieldslimits the returned fields. - Limits: 30,000 calls per 10 minutes, 80 per second, 10 at once; 429 means wait for
X-RateLimit-Reset. - Unused API keys expire after 90 days.
- GetResponse MAX accounts need another host and an
X-Domainheader, which this spec does not cover. - Sending newsletters, deleting contacts and account settings are not part of this spec.
Source: GetResponse API v3 reference (https://apireference.getresponse.com/), checked 2026-10-22.
How to use this spec
- Create a free VX Agents account (sandbox tools included).
- Open the marketplace and connect “GetResponse Contacts & Newsletters” to an agent.
- Expose it as an MCP server for Claude/ChatGPT, or chat with it directly.