Source connector
Marketo connector
Marketo integration for databases, warehouses and BI tools
B2B marketing automation and lead management. Datrise captures Marketo entities such as leads, programs, campaigns, email events, lists and lead scores, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Marketo REST API + Bulk Extract authenticates with OAuth 2.0, incremental runs key on updatedAt, and Marketo caps calls at 50,000 REST API calls/day per instance by default (resets midnight CST), throttled to 100 calls per 20-second window with a max of 10 concurrent calls; Bulk Extract defaults to 500 MB of daily export capacity (also resets midnight CST) and allows only 2 executing plus 10 queued bulk jobs at a time.
Of the 6 objects, 5 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `marketo_leads`) with a schema derived from the Marketo API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Marketo pipeline page, and join the waitlist to get the Marketo connector (Marketing) with guided onboarding.
What Marketo data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| leads | marketo_leads | Upsert by primary key, incremental on updated-at |
| programs | marketo_programs | Upsert by primary key, incremental on updated-at |
| campaigns | marketo_campaigns | Upsert by primary key, incremental on updated-at |
| email events | marketo_email_events | Append-only, incremental by timestamp |
| lists | marketo_lists | Upsert by primary key, incremental on updated-at |
| lead scores | marketo_lead_scores | Upsert by primary key, incremental on updated-at |
Marketo API: setup facts for the connector
Verified against the vendor documentation on 2026-09-02. Unknown values are left blank rather than guessed.
| API | Marketo REST API + Bulk Extract |
|---|---|
| Authentication | OAuth 2.0 — A custom service (client_id/client_secret) authenticates via the OAuth 2.0 client_credentials grant against the instance's Identity URL, returning a bearer token that lasts 3,600 seconds. |
| Pagination | token — List endpoints (leads, lists, programs) return `nextPageToken` and a `moreResult` boolean; you keep passing the token back until `moreResult` is false, with `batchSize` controlling page size. |
| Rate limit | 50,000 REST API calls/day per instance by default (resets midnight CST), throttled to 100 calls per 20-second window with a max of 10 concurrent calls; Bulk Extract defaults to 500 MB of daily export capacity (also resets midnight CST) and allows only 2 executing plus 10 queued bulk jobs at a time |
| Incremental cursor | updatedAt — Lead records expose an `updatedAt` timestamp (ISO 8601) usable as a filter for incremental pulls, separate from the Activities API's `createdAt`-based activity stream for behavioral events. |
| Webhooks | No |
| Bulk export | Yes — Bulk Extract API (asynchronous export jobs for Leads/Activities to CSV) |
| Deletes detectable | No |
What bites when replicating Marketo
- There is no delete-tracking mechanism: a removed lead simply stops appearing in Leads endpoints and no activity type records the deletion, so connectors must diff full ID sets to infer deletes.
- The 100-calls-per-20-seconds throttle and 10-concurrent-call cap apply per instance across every integration, so one connector's polling loop can starve other Marketo integrations on the same subscription.
- Bulk Extract jobs are limited to 2 executing plus 10 queued at once, and the default 500 MB/day export allocation resets at midnight CST; exceeding it returns error code 1029 ("Export daily quota exceeded") and blocks new jobs until the reset.
- OAuth access tokens expire after exactly 3,600 seconds and are scoped to the issuing custom service, so a connector must proactively refresh rather than rely on a 401 to signal renewal.
Popular destinations for Marketo
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Marketo connector FAQ
- What Marketo data does the connector extract?
- 6 objects: leads, programs, campaigns, email events, lists and lead scores. Each lands in its own table with types preserved; history-style objects (1: email events) load as append-only streams.
- Is the Marketo integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Marketo data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Marketo → destination pair has its own page with the object-to-table mapping.
Related Marketing sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Marketo pipeline with guided onboarding
Join the waitlist to get priority access for Marketo integrations with guided setup, schema-aware mapping, and production-grade incremental sync.