canonical: https://jentic.com/apis/marketo.com/marketo

# Marketo REST API

The Marketo REST API manages marketing automation data in an Adobe Marketo Engage instance. It queries, creates, updates, and deletes leads, reads lead activities and change data, manages static lists and their membership, works with companies, opportunities, and custom objects, and administers assets such as programs and emails. Bulk import and export operations move large lead and activity sets in and out.

## For AI agents

Query and update leads, read activities, manage lists and membership, and administer assets like programs and emails in a Marketo instance. Uses OAuth 2.0 to obtain a bearer access token.

## Scope

Does not handle web analytics or ad spend. Use the Marketo REST API for lead management, activities, lists, smart campaigns, and marketing assets within a Marketo instance.

## Capabilities

- Query, create, update, and delete leads
- Read lead activities and change data
- Manage static lists and their membership
- Administer assets such as programs and emails
- Work with companies, opportunities, and custom objects
- Run bulk import and export of leads and activities

## Use cases

### Lead Sync and Enrichment

An AI agent connected through Jentic can keep lead records current. It queries leads by filter, creates or updates them in batches, and reads the describe metadata to map fields, so an assistant can sync records from another system into Marketo without hand-built payloads.

Example prompt: Create or update a batch of leads from an external list and return the results

### Campaign and List Management

Marketers run programs against segmented lists. The Marketo REST API manages static lists and their membership and administers programs and emails, letting an agent add leads to a list or read program membership as part of a campaign workflow.

Example prompt: Add a set of leads to a static list and confirm their membership

### Activity and Engagement Tracking

Reporting needs the record of what a lead did. The API returns lead activities, activity types, and change data with paging tokens, so an agent can pull recent engagement for a segment and feed it into analysis or a downstream action.

Example prompt: Fetch recent lead activities since a paging token and summarize engagement

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/rest/v1/leads.json` | Get leads by filter type |
| POST | `/rest/v1/leads.json` | Create or update leads |
| GET | `/rest/v1/lead/{leadId}.json` | Get a lead by ID |
| GET | `/rest/v1/activities.json` | Get lead activities |
| GET | `/rest/asset/v1/programs.json` | Get programs |
| GET | `/rest/v1/lists.json` | Get static lists |

## Key resources

- **Leads** — Query, create, update, and delete lead records
- **Activities** — Lead activities, types, and change data
- **Lists** — Static lists and their membership
- **Assets** — Programs, emails, and other marketing assets
- **Objects** — Companies, opportunities, and custom objects

## Why Jentic

- **Setup:** Wiring the Marketo REST API by hand means registering a service, exchanging client credentials for an access token, refreshing it before expiry, and mapping the describe metadata yourself. Through Jentic you install once, import Marketo from the API Directory, store the client credentials once, and your agent calls the lead, activity, and asset operations directly.
- **Permission scoping:** You choose which of the operations your agent may call. You might allow lead queries and activity reads while blocking lead deletion and asset changes, so the agent can report without editing the instance.
- **Credential handling:** Your Marketo client credentials are stored once, encrypted, by your own Jentic One instance, and the access token is obtained and injected at execution time. Secrets never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create or update leads', and Jentic returns the matching Marketo operation with its input schema so the agent calls it with the right records.

## Related APIs

- **Mailchimp** — Email marketing and audience management with campaigns and automations
- **Salesforce** — CRM for accounts, contacts, and opportunities
- **Klaviyo** — Marketing automation focused on email and SMS for commerce

## FAQ

### What authentication does the Marketo REST API use?

It uses OAuth 2.0: your agent exchanges a client ID and secret at the identity endpoint for a bearer access token, then sends that token as a Bearer credential on each call. Through Jentic the client credentials are stored once, encrypted, by your own self-hosted instance, and the token is obtained and injected at execution time, so secrets never appear in the agent's prompt or logs.

### Can I limit what my agent is allowed to do with the Marketo REST API?

Yes. You choose which operations the agent may call. You might allow lead queries and activity reads while blocking lead deletion and asset changes, so the agent can report without editing the instance, with every call logged by your own instance.

### Is there a Marketo MCP server?

You don't need an MCP server to give your agent the Marketo REST API. Jentic connects it directly from the API Directory: import it, store your client credentials once, and your agent calls the lead, activity, and asset operations. Operations are discovered on demand, so nothing extra loads into the agent's context.

### What are the rate limits for the Marketo REST API?

The OpenAPI spec does not define rate limits. Marketo enforces per-instance daily quotas and concurrency limits, so check the Adobe Marketo Engage documentation for the limits on your instance before running high-volume jobs.

### What can the Marketo REST API do?

It manages leads, activities, lists, companies, opportunities, and custom objects, administers assets such as programs and emails, and runs bulk import and export of leads and activities within an Adobe Marketo Engage instance.

### How do I sync leads to Marketo through Jentic?

Search Jentic by intent, for example 'create or update leads', and Jentic returns the matching Marketo operation with its input schema. Your agent supplies the lead records and reads back the per-record result. To run it on your own infrastructure, install Jentic One from its GitHub repo.
