Pardot API Documentation
Pardot API Documentation
Overview:
The Pardot API allows your application to access current data within Pardot. Through the API, several
common operations can be performed on Pardot objects. Operations include:
upsert -- Updates elements of an existing object if it exists. If the object does not exist, one is created
using the supplied parameters.
Developers must authenticate with the API before issuing requests. Refer to the Authentication section
for details about this procedure. For more information about proper request syntax, see the Using the
Pardot API section.
Some considerations must be taken while performing requests. When performing update requests, only
the fields specified in the request are updated, and all others are left unchanged. If a required field is
cleared during an update, the request will be declined.
Request Format
All requests to the API:
<params>
Authentication:
A few prerequisites must be met to successfully authenticate a connection to the API.
Obtain the email, password, and user_key (available in Pardot under {your email address} > Settings in
the API User Key row) for the Pardot user account that will be submitting API requests. If you need
assistance in acquiring your user key, contact your Pardot support representative.
With these requirements met, an API key must be acquired. Both User and API keys are unique to
individual users. API keys are valid for 60 minutes. In contrast, user keys are valid indefinitely. To
authenticate, issue the following request (having replaced the values denoted by <carets> with values
for your account):
user_key X The 32-bit hexadecimal user key for your user account
If authentication was successful, a 32-character hexadecimal API key will be returned in the following
format:
<api_key>5a1698a233e73d7c8ccd60d775fbc68a</api_key>
</rsp>
AECOM-IBM
</rsp>
Subsequent authentication requests will return either the current valid API key or a newly generated API
key if the previous one had expired.
The Pardot API handles a variety of requests for many of the objects available through the Pardot user
interface. Most requests to the API use the following standardized format. All requests must use either
HTTP GET or POST. Although GET requests are secure due to the use of SSL, we recommend using POST,
with sensitive or lengthy parameter values being part of the POST message body. Developers are
responsible for issuing requests with the following components:
POST: https://pi.pardot.com/api/<object>/version/3/do/<operator>/<identifier_field>/<identifier>
GET: https://pi.pardot.com/api/<object>/version/3/do/<operator>/<identifier_field>/<identifier>?
<parameters_for_request>
identifier_field X The field to be used as the identifier for the specified object
format The API data format. Either xml or json (xml is default)
The ordering of parameters is arbitrary. Parameters are passed using conventional HTML parameter
syntax, with '?' indicating the start of the parameter string (for GET requests only) and '&' as the
separator between parameters. With the exception of <format> and <parameters_for_request>, all
AECOM-IBM
components are required. Data returned from the API is formatted using JSON or XML 1.0 with UTF-8-
character encoding. Keep in mind that some characters in the response may be encoded as HTML
entities, requiring client-side decoding. Also, keep in mind that all parameters specified in an API request
MUST be URL-encoded before they are submitted.
In general, the API will return XML or JSON containing a current version of the target object's data.
However, unsuccessful requests will return a short response containing an error code and message. See
Error Codes & Messages for error descriptions and suggested remedies.
If your account uses v4, then upon login to the APIs, a data tag will be returned as such:
<version>4</version>. If your account requires version 3, you will not see this tag.
full -- Returns all supported data for the Pardot object and all objects associated with it.
simple -- Returns all supported data for the data for the Pardot object.
mobile -- Returns an abbreviated version of the object data. This output format is ideal for mobile
applications.
bulk -- Returns basic data for an object (does not provide total object count). Used for querying large
amounts of data.
If the output request parameter is not defined, the output format defaults to full. See the XML Response
Format sections for each object for details about the formats.