Integrating Copper CRM with REST API: A Guide by Truto
Learn how to integrate Copper CRM using their REST API in Truto's Integration GPS Series. Save time with this comprehensive guide for developers.
Native integration with Copper CRM can be a huge time-saver to automate repetitive tasks. We have outlined the steps below to integrate with Copper CRM using their REST API below. Following these steps should save you immense time that would have otherwise been spent on unnecessary research and navigation.
Signup for Copper CRM
To start, sign up for Copper CRM by creating an account. Copper provides a free trial signup, so you can get started right away.
Get your API Key
Copper uses API key-based authentication, so you need to generate an API key to start making requests. To generate an API Key, go to the Settings tab on the sidebar and click Integrations, then API Keys. Click Generate API Key and Copper will provide you with a new API Key.

Make your First API Call
Before making your first API call, there are a few important things to keep in mind.
API URL
Copper's API can be found at https://api.copper.com/developer_api/
HTTPS
Copper uses HTTPS for their API. Make sure to use HTTPS for all requests.
Headers
Include the following headers in your requests:
X-PW-AccessToken: <Your API Key> X-PW-Application: developer_api X-PW-UserEmail: <Email address of the token owner> Content-Type: application/json
Required headers for Copper CRM API
More info here.
Rate Limits
Copper limits API calls to 180 requests per minute. After reaching this limit, Copper returns a status code of 429.
Pagination
Copper uses page number-based pagination for their /search endpoints, which are mainly POST calls. You can sort results using sort_by and sort_direction. You need to provide the page_size and page_number in the request body.
More info here.
Code example
The following code example shows a typical request to the Copper API.
import requests url = 'https://api.copper.com/developer_api/v1/search' headers = { 'X-PW-AccessToken': '<Your API Key>', 'X-PW-Application': 'developer_api', 'X-PW-UserEmail': '<Email address of the token owner>', 'Content-Type': 'application/json' } payload = { "page_number": 1, "page_size": 50, "sort_by": "name", "sort_direction": "asc" } response = requests.post(url, headers=headers, json=payload)
Following these steps will you put on the right path to integrating Copper CRM.
Are you looking to natively integrate with all leading CRMs such as HubSpot, Close, Pipedrive, Freshsales, and Microsoft Dynamics 365? Use Truto.one for free. It’s built for developers by developers to natively integrate all CRMs in one go.
If you have any questions or run into a roadblock, feel free to reach out to us at support@truto.one, we’ll be happy to help.
FAQ
- How do I authenticate with the Copper CRM REST API?
- Copper CRM uses API key-based authentication. You must include the headers X-PW-AccessToken, X-PW-Application (set to developer_api), and X-PW-UserEmail in your HTTPS requests.
- What are the rate limits for the Copper CRM API?
- Copper limits API calls to 180 requests per minute. If you exceed this limit, the server will return a 429 status code.
- How does pagination work for Copper CRM search endpoints?
- Copper uses page number-based pagination for its /search endpoints. You must provide page_size and page_number in the POST request body to navigate results.