📘

All requests to the Pipedrive API must be made over SSL (https, not http).

We recommend using JSON body format when performing API requests. To do a proper JSON-formatted request, ensure you provide Content-Type: application/json in HTTP request headers. Our API supports UTF-8 for character encoding.

For the POST method, regular form-encoded body format is also supported but you may experience quirks related to a lack of data types. Our API uses the HTTP verbs for each action:

MethodDescription
GETUsed for retrieving resources
POSTUsed for creating resources
PUTUsed for replacing resources or collections
PATCHUsed for updating some parts of a resource
DELETEUsed for deleting resources


URL naming


Our API uses a straightforward URL naming convention.

  • Each request must be made to the API endpoint https://{COMPANYDOMAIN}.pipedrive.com/api/v1, followed by the type of object in a plural form, for example, https://{COMPANYDOMAIN}.pipedrive.com/api/v1/deals
  • When one item is being asked, and such a method exists, the ID of the item must be appended to the URL, for example https://{COMPANYDOMAIN}.pipedrive.com/api/v1/deals/2
  • When asking for sub-objects of an object, append that to the ID of the master object, for example, https://{COMPANYDOMAIN}.pipedrive.com/api/v1/deals/2/activities

We advise everyone to use {COMPANYDOMAIN}.pipedrive.com for faster requests as it helps us to better determine which data center your request should go to.



Field selector


When asking for a collection/list of objects, you can pass in a field selector to indicate which fields you would like to fetch per each object. Most endpoints in our API reference support this, but not all.

The field selector is supported in requests done with OAuth and requests done with the api_token. For example, you may only want to fetch a deal's ID, title, value, and currency when asking the deals list – this can be done by using the following syntax:

GET https://{COMPANYDOMAIN}.pipedrive.com/api/v1/deals:(id,title,value,currency)

You can also see the field selector being used in our updating custom fields' values tutorial.