
Security News
Feross on the 10 Minutes or Less Podcast: Nobody Reads the Code
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.
api-pipedrive-python
Advanced tools
pipedrive-python is an API wrapper for Pipedrive written in Python.
pip install api-pipedrive-python==1
from pipedrive.client import Client
client = Client('CLIENT_ID', 'CLIENT_SECRET')
url = client.authorization_url('REDIRECT_URL')
token = client.exchange_code('REDIRECT_URL', 'CODE')
client.set_access_token('ACCESS_TOKEN')
token = client.refresh_token('REFRESH_TOKEN')
from pipedrive.client import Client
client = Client(domain='https://companydomain.pipedrive.com/')
client.set_api_token('API_TOKEN')
API docs: https://developers.pipedrive.com/docs/api/v1/Activities
response = client.activities.get_activity('ACTIVITY_ID')
response = client.activities.get_all_activities()
data = {
'subject': '',
'type': ''
}
response = client.activities.create_activity(data)
data = {
'subject': '',
'type': ''
}
response = client.activities.update_activity('ACTIVITY_ID', data)
response = client.activities.delete_activity('ACTIVITY_ID')
response = client.activities.get_activity_fields()
API docs: https://developers.pipedrive.com/docs/api/v1/Deals
response = client.deals.get_deal('DEAL_ID')
response = client.deals.get_all_deals()
response = client.deals.get_all_deals_with_filter('FILTER_ID')
data = {
'title': ''
}
response = client.deals.create_deal(data)
data = {
'title': ''
}
response = client.deals.update_deal('DEAL_ID', data)
response = client.deals.delete_deal('DEAL_ID')
response = client.deals.duplicate_deal('DEAL_ID')
response = client.deals.get_deal_details('DEAL_ID')
params = {
'term': ''
}
response = client.deals.search_deals(params=params)
response = client.deals.get_deal_followers('DEAL_ID')
response = client.deals.add_follower_to_deal('DEAL_ID', 'USER_ID')
response = client.deals.delete_follower_to_deal('DEAL_ID', 'FOLLOWER_ID')
response = client.deals.get_deal_participants('DEAL_ID')
response = client.deals.add_participants_to_deal('DEAL_ID', 'PERSON_ID')
response = client.deals.delete_participant_to_deal('DEAL_ID', 'PARTICIPANT_ID')
response = client.deals.get_deal_activities('DEAL_ID')
response = client.deals.get_deal_mail_messages('DEAL_ID')
response = client.deals.get_deal_products('DEAL_ID')
response = client.deals.get_deal_fields()
response = client.deals.get_deal_updates('DEAL_ID')
API docs: https://developers.pipedrive.com/docs/api/v1/Filters
response = client.filters.get_filter('FILTER_ID')
response = client.filters.get_all_filters()
data = {
'name': '',
'conditions': {},
'type': ''
}
response = client.filters.create_filter(data)
data = {
'name': '',
'conditions': {},
'type': ''
}
response = client.filters.update_filter('FILTER_ID', data)
response = client.filters.delete_filter('FILTER_ID')
API docs: https://developers.pipedrive.com/docs/api/v1/Notes
response = client.notes.get_note('NOTE_ID')
response = client.notes.get_all_notes()
data = {
'content': ''
}
response = client.notes.create_note(data)
data = {
'content': ''
}
response = client.notes.update_note('NOTE_ID', data)
response = client.notes.delete_note('NOTE_ID')
response = client.notes.get_note_fields()
API docs: https://developers.pipedrive.com/docs/api/v1/Organizations
response = client.organizations.get_organization('ORGANIZATION_ID')
response = client.organizations.get_all_organizations()
params = {
'term': ''
}
response = client.products.search_organizations(params=params)
data = {
'name': ''
}
response = client.organizations.create_organization(data)
data = {
'name': ''
}
response = client.organizations.update_organization('ORGANIZATION_ID', data)
response = client.organizations.delete_organization('ORGANIZATION_ID')
response = client.organizations.get_organization_fields()
API docs: https://developers.pipedrive.com/docs/api/v1/Persons
response = client.persons.get_person('PERSON_ID')
response = client.persons.get_all_persons()
params = {
'term': ''
}
response = client.persons.search_persons(params=params)
data = {
'name': ''
}
response = client.persons.create_person(data)
data = {
'name': ''
}
response = client.persons.update_person('PERSON_ID', data)
response = client.persons.delete_person('PERSON_ID')
response = client.persons.get_person_deals('PERSON_ID')
response = client.persons.get_person_fields()
API docs: https://developers.pipedrive.com/docs/api/v1/Pipelines
response = client.pipelines.get_pipeline('PIPELINE_ID')
response = client.pipelines.get_all_pipelines()
response = client.pipelines.get_pipeline_deals()
API docs: https://developers.pipedrive.com/docs/api/v1/Products
response = client.products.get_product('PRODUCT_ID')
response = client.products.get_all_products()
params = {
'term': ''
}
response = client.products.search_products(params=params)
data = {
'name': ''
}
response = client.products.create_product(data)
data = {
'name': ''
}
response = client.products.update_product('PRODUCT_ID', data)
response = client.products.delete_product('PRODUCT_ID')
response = client.products.get_product_deal('PRODUCT_ID')
response = client.products.get_product_fields()
params = {
'since_timestamp': 'YYYY-MM-DD HH:MM:SS'
}
response = client.recents.get_recent_changes(params=params)
API docs: https://developers.pipedrive.com/docs/api/v1/ItemSearch
response = client.search.search_term('SEARCH_TERM')
# Searches and organizes deals by person based on phone number
client.search.iniciar('PHONE_NUMBER')
# Access the organized persons data
persons_data = client.search.persons
The iniciar method searches for persons by phone number and organizes their deals by status:
Each deal includes custom fields like SDR, product, debt values, benefits, and monthly payments.
response = client.search.get_deal('DEAL_ID')
deals = client.search.get_deals_by_person('PERSON_ID')
API docs: https://developers.pipedrive.com/docs/api/v1/Leads
response = client.leads.get_lead('LEAD_ID')
params = {
'term': ''
}
response = client.leads.search_leads(params=params)
API docs: https://developers.pipedrive.com/docs/api/v1/Users
response = client.users.get_user('USER_ID')
response = client.users.get_all_users()
response = client.users.get_me()
API docs: https://developers.pipedrive.com/docs/api/v1/Webhooks
response = client.webhooks.get_hooks_subscription()
data = {
'subscription_url': '',
'event_action': '',
'event_object': ''
}
response = client.webhooks.create_hook_subscription(data)
response = client.webhooks.delete_hook_subscription('HOOK_ID')
API docs: https://developers.pipedrive.com/docs/api/v1/legacyTeams
response = client.teams.get_all_teams()
We are always grateful for any kind of contribution including but not limited to bug reports, code enhancements, bug fixes, and even functionality suggestions.
FAQs
API wrapper for Pipedrive written in Python
We found that api-pipedrive-python demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.