3 steps to integrate with Copper CRM using REST API
Published: 2023-02-16 14:41:25


* * *
 ![3 steps to integrate with Copper CRM using REST API](https://truto.one/blog/content/images/2023/02/copper_blog_hero@2x.png)

## Truto's Integration GPS Series

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](https://copper.com) 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.

![3 steps to integrate with Copper CRM using REST API](https://truto.one/blog/content/images/2023/02/spaces_y7XFcf8QStq3xjWRm1DU_uploads_o5t08tg5x6Ujx3ETe0M1_image.jpeg)
_Generating a Copper CRM 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](https://developer.copper.com/introduction/requests.html).

### 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](https://developer.copper.com/introduction/pagination.html).

### 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](https://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](mailto:support@truto.one), we’ll be happy to help.