Copper CRM
Sync people, companies, and opportunities in Copper CRM via its developer REST API. Search the three core record types and create new people — no SDK, standard-library Python only.
What it does
The tool branches on operation and calls the real Copper Developer API
(https://api.copper.com/developer_api/v1). It returns the raw JSON response
body as result and the HTTP status code as status. Non-2xx responses are
returned (not thrown) so you can inspect Copper's error payload.
Operations
| operation | Copper endpoint | Purpose |
|---|---|---|
search_people |
POST /people/search |
List/search people (contacts) |
search_companies |
POST /companies/search |
List/search companies |
search_opportunities |
POST /opportunities/search |
List/search opportunities (deals) |
create_person |
POST /people |
Create a new person |
Search operations accept optional name (filter), sortBy, pageSize (1-200,
default 20) and pageNumber (1-based, default 1).
apiKey setup
Copper authenticates every request with three headers, so this tool needs two credentials: your API key and the email of the user who generated it.
- In the Copper web app, go to System settings > API Keys.
- Click GENERATE API KEY and copy the key — this is your
apiKey(sent as theX-PW-AccessTokenheader). - Use the email address of the user who generated the key as
userEmail(sent as theX-PW-UserEmailheader).
The tool always sends X-PW-Application: developer_api and
Content-Type: application/json for you.
Examples
Search the first page of people, sorted by name:
apiKey: <your key>
userEmail: [email protected]
operation: search_people
sortBy: name
pageSize: 25
Find companies whose name matches "Acme":
apiKey: <your key>
userEmail: [email protected]
operation: search_companies
name: Acme
List the most recently modified opportunities:
apiKey: <your key>
userEmail: [email protected]
operation: search_opportunities
sortBy: date_modified
Create a new person with a work email:
apiKey: <your key>
userEmail: [email protected]
operation: create_person
name: John Doe
email: [email protected]
Output
result— the Copper JSON response body (people/companies/opportunities array for searches, or the created person object forcreate_person), as a JSON string.status— the HTTP status code (e.g.200,201,401).