Skip to main content

Marketo

Marketo is a comprehensive marketing automation platform that enables businesses to create, execute, and measure marketing campaigns, manage lead generation and nurturing processes, track customer engagement, and optimize marketing ROI through advanced automation and analytics capabilities.

Marketo icon

Power end-to-end data operations for your Marketo API with Nexla. Our bi-directional Marketo connector is purpose-built for Marketo, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Marketo or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Marketo workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

Before creating a Marketo credential, you need to obtain your REST API Endpoint URL, Identity URL, Client ID, and Client Secret from your Marketo account. Marketo uses OAuth2 2-legged authentication for all API requests.

To obtain your Marketo API credentials, follow these steps:

  1. Sign in to your Marketo account using your administrator credentials.

  2. Navigate to Admin > Web Services in the Marketo admin menu.

  3. In the REST API section, locate your REST API Endpoint URL. This URL is specific to your Marketo instance and typically follows the format https://{instance_id}.mktorest.com/rest. Copy this URL, as you will need it to configure your Nexla credential.

  4. In the same REST API section, locate your Identity URL. This URL is also specific to your Marketo instance and typically follows the format https://{instance_id}.mktorest.com/identity. Copy this URL, as you will need it to configure your Nexla credential.

  5. Navigate to Admin > LaunchPoint in the Marketo admin menu.

  6. In the LaunchPoint section, locate or create a custom service for API access. If you don't have a custom service yet, click New or Add New to create one.

  7. Select your custom service from the list, and click View Details to view the service configuration.

  8. In the service details, locate your Client ID and Client Secret. These credentials are used for OAuth2 authentication. Copy both values, as you will need them to configure your Nexla credential.

  9. Note the Authentication Scope for your custom service. This is typically the email address of the user who owns the custom service. The scope determines the permissions available to your API integration.

  10. Store all credentials securely, as you will need them to configure your Nexla credential. The Client ID and Client Secret are sensitive information and should be kept confidential.

The REST API Endpoint URL and Identity URL are specific to your Marketo instance and are used to construct API endpoint URLs and authentication URLs, respectively. The Client ID and Client Secret are used for OAuth2 2-legged authentication, which allows your integration to authenticate and access Marketo resources based on the permissions configured for the custom service. The Authentication Scope determines the permissions available to your integration. For detailed information about obtaining API credentials, OAuth2 authentication, and available endpoints, refer to the Marketo REST API documentation and Marketo REST API authentication guide.

Authenticate

Credentials required

FieldRequiredSecretDescription
Rest API Endpoint URLYesNoYour Marketo Rest API Endpoint URL. The Rest API URL is found in the Admin > Web Services menu in the REST API section.
Identity URLYesNoYour Marketo Identity URL. The Identity URL is found in the Admin > Web Services menu in the REST API section.
Client IDYesNoYour Marketo API Client ID. The Client ID and Client Secret are found in the Admin > LaunchPoint menu by selecting the custom service, and clicking View Details.
Client SecretYesYesYour Marketo API Client Secret. The Client ID and Client Secret are found in the Admin > LaunchPoint menu by selecting the custom service, and clicking View Details.
Authentication ScopeYesNoScope for authentication permission. Usually this is the owning user of the custom service that was used to authenticate.

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

New Credential Overlay – Marketo

MarketoCred.png
  1. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

    Marketo uses OAuth2 2-legged authentication for all API requests. This authentication method uses your Client ID and Client Secret to obtain an access token that authenticates your API requests to Marketo.

  2. Enter your Marketo REST API Endpoint URL in the Rest API Endpoint URL field. This should be the complete URL to your Marketo REST API endpoint, typically in the format https://{instance_id}.mktorest.com/rest. The REST API Endpoint URL is found in the Admin > Web Services menu in the REST API section. This URL is used to construct API endpoint URLs for all Marketo API requests.

  3. Enter your Marketo Identity URL in the Identity URL field. This should be the complete URL to your Marketo Identity endpoint, typically in the format https://{instance_id}.mktorest.com/identity. The Identity URL is found in the Admin > Web Services menu in the REST API section. This URL is used to obtain OAuth2 access tokens for authentication.

  4. Enter your Marketo Client ID in the Client ID field. This is the Client ID you obtained from your Marketo LaunchPoint custom service (Admin > LaunchPoint > View Details). The Client ID is used along with the Client Secret to authenticate your integration and obtain OAuth2 access tokens.

  5. Enter your Marketo Client Secret in the Client Secret field. This is the Client Secret you obtained from your Marketo LaunchPoint custom service (Admin > LaunchPoint > View Details). The Client Secret is used along with the Client ID to authenticate your integration and obtain OAuth2 access tokens. The Client Secret is sensitive information and must be kept confidential.

  6. Enter your Marketo Authentication Scope in the Authentication Scope field. This is typically the email address of the user who owns the custom service that was used to authenticate. The scope determines the permissions available to your API integration. The scope is usually the owning user of the custom service that was used to authenticate.

    Your Marketo REST API Endpoint URL and Identity URL can be found in your Marketo admin panel (Admin > Web Services > REST API section). Your Client ID and Client Secret can be found in your Marketo LaunchPoint custom service (Admin > LaunchPoint > View Details). The REST API Endpoint URL and Identity URL are specific to your Marketo instance and are used to construct API endpoint URLs and authentication URLs, respectively.

    The Client ID and Client Secret are used for OAuth2 2-legged authentication, which allows your integration to authenticate and access Marketo resources based on the permissions configured for the custom service. The Authentication Scope determines the permissions available to your integration. If your Client ID or Client Secret is compromised, you should immediately revoke the custom service in your Marketo LaunchPoint settings and create a new one.

    For detailed information about obtaining API credentials, OAuth2 authentication, and available endpoints, see the Marketo REST API documentation and Marketo REST API authentication guide.

  7. Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Marketo connector tile, then select the credential that will be used to connect to your Marketo account, and click Next; or, create a new Marketo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Marketo endpoints. Each template is designed specifically for the corresponding Marketo endpoint, making data source setup easy and efficient. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

Get Filtered Records of a Type

This endpoint template retrieves a filtered list of records of a specific resource type from your Marketo account, such as Leads, Companies, Opportunities, Activities, Campaigns, or Custom Objects. Use this template when you need to retrieve records that match specific filter criteria, such as leads with a specific email domain or opportunities in a specific stage.

  • Select the resource type from the Resource Type field. Available options include Activities, Campaigns, Companies, Custom Objects, Leads, Named Accounts, Named Accounts Lists, Opportunities, Opportunities Roles, and Sales Persons. The resource type determines which Marketo API endpoint will be used to retrieve data.
  • Enter the filter type in the Filter Type field. This should be the name of the field you want to filter on, such as id, email, firstName, lastName, or any other field available for the selected resource type. The filter type determines which field will be used to filter the records. For example, for leads, you might use email to filter by email address, or id to filter by lead ID.
  • Enter the filter values in the Filter Values field. This should be a comma-separated list of values to filter on in the specified field. For example, if filtering by email, you might enter example1@example.com,example2@example.com. The filter values determine which records will be retrieved based on the filter type.

This endpoint uses token-based pagination with nextPageToken to handle large datasets efficiently. Nexla will automatically fetch subsequent pages of data by using the nextPageToken returned in the API response. The endpoint supports filtering on various fields depending on the resource type selected.

For detailed information about available resource types, filter fields, filter syntax, and API endpoints, see the Marketo REST API endpoint reference.

Get Resource Metadata

This endpoint template retrieves metadata for a specific resource type, including a list of fields available for querying and updating. Use this template when you need to understand the structure and available fields for a resource type, such as Leads, Companies, Opportunities, Roles, SalesPersons, or Custom Objects. This is useful for discovering available fields before configuring other endpoints.

  • Select the resource type from the Resource Type field. Available options include Companies, Custom Objects, Leads, Opportunities, Opportunities Roles, and Sales Persons. The resource type determines which Marketo API endpoint will be used to retrieve metadata.

This endpoint retrieves metadata including field definitions, data types, and available operations for the selected resource type. The metadata can help you understand the structure of the resource and identify which fields are available for querying and updating. This endpoint uses token-based pagination with nextPageToken to handle large metadata responses efficiently.

For detailed information about available resource types, metadata structure, and API endpoints, see the Marketo REST API endpoint reference.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right. If the sample data is not as expected, review the selected endpoint and associated settings, make any necessary adjustments, and test again to ensure that the correct information is displayed before saving.

Manual configuration

Marketo data sources can also be manually configured to ingest data from any valid Marketo API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

Marketo API typically uses the GET method for retrieving data. Construct the API URL from your Marketo REST API Endpoint URL (from your credential), the API version (/v1/), the resource type, and any required query parameters, for example {rest_api_endpoint_url}/v1/leads.json?filterType=email&filterValues=example@example.com. Set the Response Data Path to $.result[*] to extract all items from the result array returned by Marketo API responses. The Marketo API uses token-based pagination with nextPageToken — specify nextPageToken as the token parameter name and $.nextPageToken as the response path to the next page token.

Once all of the relevant settings have been configured, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the data source configuration for later use. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Marketo destination, and select the Send to Destination option from the menu. Select the Marketo connector from the list of available destination connectors, then select the credential that will be used to connect to your Marketo account, and click Next; or, create a new Marketo credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Marketo endpoints. Each template is designed specifically for the corresponding Marketo endpoint, making destination configuration easy and efficient. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Create or Update records of Type

This endpoint template creates or updates records of a specific resource type in your Marketo account, such as Leads, Companies, Opportunities, or Custom Objects. Use this template when you need to create new records or update existing records in Marketo from your data flow. The endpoint supports batch mode, allowing you to send multiple records in a single request.

  • Enter the resource type in the Resource Type field. This should be the name of the Marketo resource you want to create or update, such as leads, companies, opportunities, or customobjects. The resource type is used to construct the API endpoint URL (e.g., {rest_api_endpoint_url}/v1/leads). Ensure you use the exact resource type name as defined in the Marketo API.

This endpoint sends data as JSON in the request body to create or update records in Marketo. The endpoint supports batch mode, allowing you to send up to 300 records per request. The data structure must match the Marketo API's expected format for the specified resource type. Ensure your data flow provides the required fields for the resource type you're creating or updating.

For detailed information about available resource types, required fields, data formats, and record schemas, see the Marketo REST API endpoint reference.

Manual configuration

Marketo destinations can also be manually configured to send data to any valid Marketo API endpoint. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Marketo API typically uses the POST method for creating or updating records. Construct the API URL from your Marketo REST API Endpoint URL (from your credential), the API version (/v1/), and the resource type, for example {rest_api_endpoint_url}/v1/leads. The request body must be valid JSON matching the Marketo API's expected format for the specified resource type — use {message.json} to send the entire Nexset record as JSON, or apply a transform function to format the data as an array of records for batch operations. The endpoint supports batch mode, allowing up to 300 records per request.

Save & activate

Once all endpoint settings have been configured, click the Next button to proceed with the rest of the data flow configuration, or click Save to save the destination configuration for later use. To send the data to the configured Marketo endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Marketo endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.