Table of Contents
Pipedrive is the easy-to-use, #1 user-rated CRM tool. Get more qualified leads and grow your business. Sign up for a 14-day free trial.
API Overview
Pipedrive is a cloud-based sales CRM and pipeline management platform designed to help businesses track and manage their sales processes. It offers features such as lead management, contact management, activity tracking, deal management, and reporting. Pipedrive's user-friendly interface and intuitive design make it easy for sales teams to adopt and use effectively. It integrates with various third-party applications and provides mobile apps for iOS and Android, allowing users to access their data and manage their sales pipeline on the go.
Pipedrive's API provides developers with a comprehensive set of tools and resources to integrate with the platform. The API documentation is extensive and well-organized, providing clear instructions and examples for various use cases. The REST APIs allow developers to access and manipulate data within Pipedrive, including leads, contacts, deals, and activities. Webhooks enable real-time notifications when specific events occur within Pipedrive, allowing developers to build automated integrations and respond to changes promptly. To ensure the stability and performance of the platform, Pipedrive enforces rate limits on API requests. Developers must adhere to these limits to prevent overloading the system and maintain optimal service levels.
API Request Limits
Starter
100 requests per minute
Professional
500 requests per minute
Enterprise
1,000 requests per minute
APIs
Method: GET
Description: Get all deals in a company.
Endpoint: deals
Parameters: id, title, person_id, user_id, stage_id, pipeline_id, status, currency, value, add_time, update_time, close_time, lost_reason, next_activity_date, next_activity_time, next_activity_id, lost_time, won_time, probability, visible_to, deleted, creator_user_id, owner_user_id, org_id, custom_fields
Method: POST
Description: Create a new deal in a company.
Endpoint: deals
Parameters: company_id, person_id, user_id, stage_id, pipeline_id, currency, value, title, description, status, add_time, update_time, close_time, lost_reason, next_activity_date, next_activity_time, next_activity_id, lost_time, won_time, probability, visible_to, creator_user_id, owner_user_id, org_id, custom_fields
Method: PUT
Description: Update a deal.
Endpoint: deals
Parameters: id, company_id, person_id, user_id, stage_id, pipeline_id, currency, value, title, description, status, add_time, update_time, close_time, lost_reason, next_activity_date, next_activity_time, next_activity_id, lost_time, won_time, probability, visible_to, creator_user_id, owner_user_id, org_id, custom_fields
Method: GET
Description: Get a deal in a company by its ID.
Endpoint: deals/{id}
Parameters: id
Method: GET
Description: Get all files for a deal.
Endpoint: deals/{id}/files
Parameters: id
Method: POST
Description: Add a new file for a deal.
Endpoint: deals/{id}/files
Parameters: id
Method: PATCH
Description: Update the status of a deal.
Endpoint: deals/{id}/status
Parameters: id, status
Method: DELETE
Description: Delete a deal.
Endpoint: deals/{id}
Parameters: id
Method: PUT
Description: Update a deal's stage.
Endpoint: deals/{id}/stage
Parameters: id, stage_id
Method: PUT
Description: Update a deal's probability.
Endpoint: deals/{id}/probability
Parameters: id, probability
Method: GET
Description: Get all deal participants.
Endpoint: dealParticipants
Parameters: id, deal_id, user_id, role, visible_to, status
Method: POST
Description: Add a new participant on a deal.
Endpoint: dealParticipants
Parameters: deal_id, user_id, role, visible_to
Method: DELETE
Description: Delete a participant from a deal.
Endpoint: dealParticipants
Parameters: id
Method: GET
Description: Get all products in a company.
Endpoint: products
Parameters: id, name, code, description, unit, tax, quantity, price, cost, active_flag, add_time, update_time, item_order, creator_user_id, currency, deleted, custom_fields
Method: POST
Description: Create a new product in a company.
Endpoint: products
Parameters: company_id, name, code, description, unit, tax, quantity, price, cost, active_flag, add_time, update_time, item_order, creator_user_id, currency, custom_fields
Method: PUT
Description: Update a product in a company.
Endpoint: products
Parameters: id, name, code, description, unit, tax, quantity, price, cost, active_flag, add_time, update_time, item_order, creator_user_id, currency, custom_fields
Method: DELETE
Description: Delete a product in a company.
Endpoint: products
Parameters: id
Method: GET
Description: Get activities.
Endpoint: activities
Parameters: id, type, subject, details, date, owner_id, done, visible_to, remind_at, creator_user_id, created, update_time, deal_id, person_id, org_id, file_id, user_id, product_id, related_item_id, note, custom_fields
Method: POST
Description: Add a new activity.
Endpoint: activities
Parameters: type, subject, details, due_date, duration, done, visible_to, remind_at, creator_user_id, deal_id, person_id, org_id, file_id, user_id, product_id, related_item_id, note, custom_fields
Method: PUT
Description: Update an activity.
Endpoint: activities
Parameters: id, type, subject, details, due_date, duration, done, visible_to, remind_at, creator_user_id, deal_id, person_id, org_id, file_id, user_id, product_id, related_item_id, note, custom_fields
Method: DELETE
Description: Delete an activity.
Endpoint: activities
Parameters: id
Method: GET
Description: Get organizations.
Endpoint: organizations
Parameters: id, name, address, city, state, country, phone, website, industry_id, num_employees, description, add_time, update_time, creator_user_id, owner_user_id, visible_to, org_type, deleted, custom_fields
Method: POST
Description: Create an organization.
Endpoint: organizations
Parameters: name, address, city, state, country, phone, website, industry_id, num_employees, description, add_time, update_time, creator_user_id, owner_user_id, visible_to, org_type, custom_fields
Method: PUT
Description: Update an organization.
Endpoint: organizations
Parameters: id, name, address, city, state, country, phone, website, industry_id, num_employees, description, add_time, update_time, creator_user_id, owner_user_id, visible_to, org_type, custom_fields
Method: DELETE
Description: Delete an organization.
Endpoint: organizations
Parameters: id
Method: GET
Description: Get persons.
Endpoint: persons
Parameters: id, name, first_name, last_name, email, phone, mobile, fax, title, organization_id, add_time, update_time, creator_user_id, owner_user_id, visible_to, deleted, custom_fields
Method: POST
Description: Create a person.
Endpoint: persons
Parameters: organization_id, name, first_name, last_name, email, phone, mobile, fax, title, add_time, update_time, creator_user_id, owner_user_id, visible_to, custom_fields
Method: PUT
Description: Update a person.
Endpoint: persons
Parameters: id, organization_id, name, first_name, last_name, email, phone, mobile, fax, title, add_time, update_time, creator_user_id, owner_user_id, visible_to, custom_fields
Method: DELETE
Description: Delete a person.
Endpoint: persons
Parameters: id
FAQ
How do I get an API token?
To get an API token, you need to create a developer account on Pipedrive. After creating the account, you can generate an API token from your developer dashboard.
What are the rate limits for using the Pipedrive APIs?
Pipedrive APIs have different rate limits for different endpoints. The default rate limit is 100 requests per minute, but this can be increased by contacting Pipedrive support.
How do I authenticate to the Pipedrive APIs?
Pipedrive APIs use OAuth 2.0 for authentication. You need to obtain an access token from Pipedrive before making API requests. You can obtain an access token using the <code>authorization_code</code> or <code>client_credentials</code> grant types.
What is the sandbox account?
The sandbox account is a special type of account that allows developers to test their integrations without affecting real data. The sandbox account is pre-populated with sample data and can be reset at any time.
How do I create a new deal using the Pipedrive APIs?
To create a new deal, you can use the <code>POST /deals</code> endpoint. The request body should include the following information: title, value, currency, stage_id, and person_id.