Getting Started
Quick Start

Quick Start Guide

Get up and running with the DealCloud Python SDK in 5 minutes.

Prerequisites

  • Python 3.13+
  • DealCloud API credentials (Client ID and API Key)
  • Your DealCloud site URL
🔑

Need API credentials? See Obtaining an API Key for setup instructions.

Install the SDK

Install dealcloud-sdk with pip, uv, poetry, or conda, optional extras, and editable installs—see Installation.

Set Up Credentials

Create a .env file in your project directory:

DC_SDK_SITE_URL=yoursite.dealcloud.com
DC_SDK_CLIENT_ID=12345
DC_SDK_CLIENT_SECRET=your-secret-here

Install python-dotenv (opens in a new tab) so the script can load those values from .env (pip install python-dotenv).

Create Your First Script

Create a file called quickstart.py:

import os
 
from dotenv import load_dotenv
from dealcloud_sdk import DealCloud, DealCloudConfig
 
load_dotenv()
 
config = DealCloudConfig(
    siteUrl=os.environ["DC_SDK_SITE_URL"],
    clientId=os.environ["DC_SDK_CLIENT_ID"],
    clientSecret=os.environ["DC_SDK_CLIENT_SECRET"],
)
dc = DealCloud.from_config_object(config)
 
# Test connection by fetching schema
objects = dc.get_objects()
print(f"Found {len(objects)} objects in your site")
 
# List the first 5 objects
for obj in objects[:5]:
    print(f"  - {obj.apiName}: {obj.pluralName}")

Run It

python quickstart.py

You should see output like:

Found 42 objects in your site
  - Company: Companies
  - Contact: Contacts
  - Deal: Deals
  - Interaction: Interactions
  - Fund: Funds

Common Operations

Reading Data

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Read as pandas DataFrame
companies = dc.read_data("Company", output="pandas")
 
# Filter and analyze
active = companies[companies["Status"] == "Active"]
print(f"Active companies: {len(active)}")
 
# Export to CSV
companies.to_csv("companies.csv", index=False)

Writing Data

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Create new companies
new_companies = [
    {"CompanyName": "Acme Corp", "Industry": 12345},
    {"CompanyName": "Beta Inc", "Industry": 12346},
]
 
result = dc.insert_data("Company", new_companies)
 
# Result includes assigned EntryIds
for company in result:
    print(f"Created: {company['CompanyName']} (ID: {company['EntryId']})")

Querying Data

from dealcloud_sdk import DealCloud, DealCloudConfig
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Query with filter
active_tech = dc.read_data(
    "Company",
    output="pandas",
    query="{$and: [{Status: 'Active'}, {Industry: 'Technology'}]}"
)
 
# Read specific fields only
names = dc.read_data(
    "Company",
    output="pandas",
    fields=["CompanyName", "Industry"]
)
 
# Read from a configured view
view_data = dc.read_data(view_id="My Company View", output="pandas")

Working with References

from dealcloud_sdk import DealCloud, DealCloudConfig, ReferenceFormat
 
config = DealCloudConfig(
    siteUrl="yoursite.dealcloud.com",
    clientId=12345,
    clientSecret="your-secret",
)
dc = DealCloud.from_config_object(config)
 
# Get reference as display names (instead of full objects)
contacts = dc.read_data(
    "Contact",
    output="pandas",
    reference_format=ReferenceFormat.NAME
)
# contacts["Company"] now shows "Acme Corp" instead of {id: 123, name: "Acme Corp", ...}

What's Next?