Skip to content
Python API for interacting with the API
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Python library for interacting with the API

This is being developed for my specific use so there's no guarantee I'll cover all of the aspects of the Pipedrive API. Feel free to add features though, I welcome pull requests.

All features should be supported though as this is just a lightweight wrapper around the API.


Create a Pipedrive object, passing either the api key or your username and password as the parameters

from pipedrive import Pipedrive
pipedrive = Pipedrive(USERNAME, PASSSWORD)


from pipedrive import Pipedrive
pipedrive = Pipedrive(API_KEY)

The rest of the functions relate to the URL as specified in the API Docs.

Do yourself a favor and try a few simple requests and look the raw responses to know what data Pipedrive's API gives you. This will aid in knowing how to deal with your responses in python code. For example, to find an organzation:

curl ''

which spits out something like:

{"success":true,"data":[{"id":215,"name":"Microsoft Main Organization","visible_to":"3"},{"id":360,"name":"Microsoft Subdivision Company","visible_to":"3"}],"additional_data":{"pagination":{"start":0,"limit":100,"more_items_in_collection":false}}}

The two things to note are the HTTP Method, and the path:


  1. List the organizations

  2. Add a New Deal{
        	'title': 'Big Sucker',
        	'value': 1000000,
        	'org_id': 2045,
        	'status': 'open'
       	}, method='POST')
  3. Update a New Deal{
        	'id': 5,
        	'title': 'Biggest Sucker',
        	'value': 100000000,
        	'org_id': 2045,
        	'status': 'open'
       	}, method='PUT')
  4. Delete an Activity

        pipedrive.activities({'id': 6789}, method='DELETE')
  5. Find a person, and use the search results. The variable term is the search term that has been passed in.

        import json
        response = pipedrive.persons_find({'term':term}, method='GET')
        results = response['data']
        suggestions = []
        if results != None:
                for result in results:
                    suggestions.append({'value': result['name'], 'data': result})
        json_response = {'query': term, 'suggestions': suggestions}
        data = json.dumps(json_response)

    And return data to some kind of javascript search result autocomplete thing (this example is formatted for devbridge's simple and easy-to-use jquery.autocomplete.js)

You can’t perform that action at this time.