The Web API lets developers build custom applications and integrations against Insightly. This covers access management, finding your credentials, troubleshooting, and the Zapier connection.
On this page:
Documentation
Full API documentation is published at api.insightly.com, with separate references for the current version (v3.1) and the previous one (v3.0).
The web API is RESTful and JSON-encoded by default, letting you fetch, create, update, and delete objects like leads, contacts, organizations, opportunities, projects, and events. Typical uses: syncing contacts and organizations across systems, automating workflows such as creating follow-up tasks, and importing or exporting data between Insightly and another system. If you need XML instead of JSON, include a Content-Type: text/xml header on the request.
Authentication
Every request needs an Authorization header carrying a Base64-encoded API key, using basic authentication: Authorization: Basic <encoded key>. An incorrect or unencoded key returns a 401 error.
Rate limits
Every response includes two headers: X-RateLimit-Limit, the daily limit for your plan, and X-RateLimit-Remaining, how many requests are left before you hit it.
⚠️ On API versions before 3.0/3.1, a PUT request replaces the entire object graph, not just the fields you send. Omitting a sub-element, such as an address or other contact point, or sending invalid data in one, is interpreted as a request to remove it. This is a common source of accidental data loss and worth flagging clearly to anyone building against the older API.
On v3.0, a GET request against a standard object doesn’t include link data. Getting it takes two requests: the initial record fetch, then a separate call to that record’s LINK endpoint using its ID. Custom objects don’t have this limitation. Related data appears in the standard GET request already, and pulling link data for a custom object only takes one call, provided a lookup relationship on the custom object exists.
Detecting changes for sync
Most Insightly objects carry a DATE_UPDATED_UTC field, the UTC timestamp of the record’s last update. Comparing it against an equivalent field in the external system is how a sync integration detects which side has the more recent change.
Finding your API key and URL
Both are needed to configure most integrations. Find them from the user icon in the top right of the CRM navigation.
ℹ️ If the API key field shows “API Access is disabled” instead of a key, that’s expected until API access is turned on for your account. The key only appears once access has been enabled; see Managing API access below.
Managing API access
By default, every user in your account has API access. Administrators can turn access on or off per user, which is worth reviewing before granting a developer credentials.
Troubleshooting with Postman
When working with Insightly support on an API problem, sharing the exact request helps diagnose it. Use the Postman app to create, save, and share the request.
Zapier
Zapier connects Insightly to hundreds of other apps without code, and Zapier maintains setup notes for the most popular Insightly zaps.