Zoho CRM API review
The most fully published API allowance of any CRM here
GET https://www.zohoapis.com/crm/v8/Leads?fields=Last_Name,Email Authorization: Zoho-oauthtoken $ZOHO_ACCESS_TOKEN # most calls: 1 credit. Upsert: 1 per 10 records. # Send Mail: 20. Bulk Write initialize: 500. # no per-minute limit, only concurrency: 10 on Standard
The Zoho CRM API is included in every edition, including a free one for three users, and Zoho publishes the whole allowance rather than hinting at it. You get a daily pool of API credits, a credit cost for each kind of call, and a concurrency limit in place of any per-second rate. Few CRMs anywhere write all three down.
The pool is 50,000 credits plus a per-license amount that rises with the edition: 250 a license on Standard, 500 on Professional, 1,000 on Enterprise and 2,000 on Ultimate. It is counted over a rolling 24-hour window rather than reset at midnight, and every edition below Ultimate has a ceiling the pool cannot pass.
What Zoho does not limit is speed. Its own documentation says there are no time-based restrictions and you may make any number of calls a minute, provided the number running at the same moment stays within your edition's concurrency. A Zoho CRM API integration is sized by how many requests it holds open, not by how fast it sends them.
The current reference is the Zoho CRM API v8, at the same documentation site as the credit tables. Zoho now also ships MCP servers for the CRM, so an agent can reach your records without a client you wrote, which removes the gap that used to separate it from Pipedrive and HubSpot here.
The rest of the category is in the CRM and sync APIs listing.
What each call costs in API credits
Zoho CRM API credits are deducted per call, and most calls cost one. The table is Zoho's own, trimmed to the operations an integration actually makes. The Zoho CRM API create lead call is an insert into the Leads module, which is where the per-record pricing starts.
| Operation | Credits | Notes |
|---|---|---|
| Get users, roles, profiles, modules, field metadata | 1 | The calls a sync makes once at startup. |
| Insert, update or upsert records | 1 per 10 records | Up to 100 records a call, so 10 credits at most. Creating a lead lands here. |
| Get records through a COQL query (Zoho's SQL-like query language) | 1 to 3 | 1 for a LIMIT up to 200, 2 up to 1,000, 3 up to 2,000. |
| Get records with a cvid parameter | 3 | Reading through a saved custom view. |
| Convert Lead | 5 | Also counts against the sub-concurrency limit. |
| Send Mail | 20 | The Zoho CRM send email API is the dearest everyday call. |
| Bulk Read initialize | 50 | One job, then the results are a download. |
| Bulk Write initialize | 500 | One job for a large import. |
| Mass delete by ids | 1 per 100 records | |
| All other APIs | 1 | Notes, attachments, tags, users and the rest. |
Two things fall out of that table. Writing in batches of 100 is ten times cheaper per record than writing one at a time, because the upsert price is per ten records rather than per call. And a Bulk Write job at 500 credits is a tenth of the 5,000 credits that one-at-a-time inserts would spend on the same 5,000 rows. It is also the same as fifty 100-record upserts, so the bulk job earns its place on size and concurrency rather than on price.
The everyday record calls all sit at one credit. The Zoho CRM notes API, attachments, tags and the users list are each a single credit a call, and Zoho CRM API search records calls are one credit too. Search does count against the sub-concurrency limit when a function invokes it, which matters more than its price.
Zoho counts integration tasks run from Deluge functions, the custom scripts written inside Zoho apps, against the same daily pool as external calls. A custom function that searches the CRM on every record save is quietly spending API credits, and the API Dashboard's Credits by Application/Functions view is where you find out which one.
Zoho CRM API pricing, plan by plan
Zoho CRM API pricing is seat pricing: there is no API line item, and the edition you buy sets both the size of the daily credit pool and the concurrency you can run.
Free
- 5,000 API credits a day
- Concurrency of 5
- No credit card required
Standard
- 50,000 + 250 credits per license, capped at 100,000
- Concurrency of 10
- HIPAA compliance and custom modules
Professional
- 50,000 + 500 credits per license, capped at 3,000,000
- Concurrency of 15
- Zoho marks this the most popular edition
Enterprise
- 50,000 + 1,000 credits per license, capped at 5,000,000
- Concurrency of 20
- Developer sandbox
Above Enterprise sits Ultimate, which Zoho sells for large deployments: 2,000 credits a license, no ceiling, and a concurrency of 25. Trial editions run on the same API limits as the paid edition they are a trial of, so a 15-day Enterprise trial is a fair test of an Enterprise integration.
If the pool is still too small, a super-admin can raise it from the API Dashboard, and the extra credits are billed monthly on a pay-as-you-go basis for what you actually used. Zoho does not publish a price per credit on the pages read for this review, so ask before relying on it.
Standard adds 250 credits a license, so ten users give 52,500 a day, but the pool stops at 100,000 however many licenses you buy. That is 200 Standard users before the ceiling binds, which sounds like plenty until one Bulk Write job spends 500 and a send-mail workflow spends 20 a message. Professional lifts the cap to 3,000,000.
A daily pool, plus how many calls may run at once
Zoho CRM API rate limits are really two limits, and neither is a rate. Of the two Zoho CRM API limits, the daily credit pool caps how much you do in 24 hours, and concurrency caps how many calls may be in flight at once, per organization and per app.
| Edition | Daily credits | Ceiling | Concurrency |
|---|---|---|---|
| Free | 5,000 | 5,000 | 5 |
| Standard | 50,000 + 250 a license | 100,000 | 10 |
| Professional | 50,000 + 500 a license | 3,000,000 | 15 |
| Enterprise | 50,000 + 1,000 a license | 5,000,000 | 20 |
| Ultimate | 50,000 + 2,000 a license | None | 25 |
The sub-concurrency limit
Ten at once, on every edition.
- Applies to Convert Lead, Send Mail, the Query and Composite APIs, and Get Records with cvid or sort_by.
- Also to inserts, updates and upserts of more than 10 records, and to search invoked from a function.
- Ten of those may run at once, whatever the edition, inside the edition's own concurrency.
- Exceed either and the response is TOO_MANY_REQUESTS.
Watching the pool
The header only appears halfway.
- The window is a rolling 24 hours from each call, not a midnight reset.
- Once usage passes 50% of the day's allowance, responses carry X-API-CREDITS-REMAINING.
- The API Dashboard shows credits by application and by function.
- Usage notifications can be customized through their own API.
A Standard org can have ten calls open at once, and a heavy call counts against the sub-concurrency ten as well. A parallel backfill that fires twenty 100-record upserts at the same time fails half of them, because the ceiling is how much runs at once rather than how much runs in total.
So the Zoho CRM API rate limit question has an unusual answer. There is no rate to stay under, only a pool to budget and a number of open calls to respect, which rewards a queue with a fixed worker count over anything that bursts.
How to create a Zoho CRM API key
There is no static Zoho CRM API key. Every call carries an OAuth 2.0 access token, and you get one by registering a client in the Zoho Developer Console, the Zoho CRM API console at api-console.zoho.com.
Self Client
For your own backend jobs.
- A client type with no redirect URL and no web UI.
- Commonly used when the application and the CRM are run by the same person.
- The client ID and secret come from the console's Client Secret tab.
- Scopes take the form ZohoCRM.modules.{module_name}.{operation_type}, or ZohoCRM.modules.ALL.
Server-based client
For an app other Zoho accounts install.
- Needs a client name, homepage URL and redirect URI.
- Redirects each user to Zoho to grant access.
- Client-based, mobile and device client types exist for other shapes.
An access token is valid for one hour and only for the scopes it was granted. The refresh token has no expiry until someone revokes it, so the integration stores the refresh token and mints a new access token as it needs one. The header is Authorization: Zoho-oauthtoken, not Bearer.
Pick the Self Client for anything you run against your own org, because it removes the redirect and the web UI you would otherwise have to host. Pick a server-based client the moment another company's Zoho account is involved, and scope it per module rather than to everything.
A first Zoho CRM API integration call
Zoho CRM API integration is OAuth first and records second. The call below is the shape of Zoho's own Get Records example on v8: a module in the path, the fields you want named explicitly, and the OAuth header.
# read leads. fields= is mandatory when listing records GET https://www.zohoapis.com/crm/v8/Leads?fields=Last_Name,Email&per_page=200 Authorization: Zoho-oauthtoken $ZOHO_ACCESS_TOKEN # up to 50 field names, 200 records a page # page= reaches 2,000 records; past that, next_page_token
Where the Zoho CRM API documentation lives
The Zoho CRM API documentation is one site per version, and the credit tables, OAuth guide and every endpoint for v8 live together. The Zoho CRM API docs also cover the newer surfaces the REST reference sits beside: COQL, the bulk APIs, notifications and MCP.
| Surface | Where | What it answers |
|---|---|---|
| API v8 reference | zoho.com/crm/developer/docs/api/v8/ | Every endpoint, scope and error. The current Zoho CRM API v8. |
| Limits and credits | .../api/v8/api-limits.html | The credit table, the edition pools and the concurrency limits. |
| COQL | .../api/v8/COQL-Overview.html | SQL-like queries, with joins and subqueries. The Zoho CRM API COQL credit cost scales with LIMIT. |
| Bulk Read and Bulk Write | .../api/v8/bulk-read/overview.html | Asynchronous jobs for large exports and imports. |
| Client registration | api-console.zoho.com | Where an OAuth client is created. |
| MCP for Zoho CRM | zoho.com/crm/developer/mcp.html | The four MCP servers and how to connect them. |
Server-side SDKs are published for PHP, Node.js, Java, C#, Python, Ruby and TypeScript, with a JavaScript SDK for the browser, so a Zoho CRM API Python client is a dependency rather than a project. Beyond REST, Zoho documents GraphQL APIs, webhooks as workflow actions, a notification API for change events, a CLI and a Developer Edition for building against.
The MCP servers are split by job rather than offered as one: Data Insights is read-only, Data Operations reads and writes records, Modules changes fields and layouts, and Workflow and Automation builds rules. Each connects over OAuth and inherits the permissions of the user who authorizes it.
The MCP page lists Zoho CRM's MCP access alongside the others in this directory.
Zoho CRM's own integration walkthrough
Zoho CRM publishes this on its own channel, so it is Zoho CRM's account of Zoho CRM, not ours. It is here because a rate card cannot show you the thing moving, and a few minutes of the product is faster than any paragraph on this page at telling you whether the shape of it fits yours.
YouTube · Zoho CRM How to integrate apps with Zoho CRM: a step-by-step demonstration 11:13 · Published February 2024Zoho's own walkthrough of connecting Zoho CRM to the other apps in its CRM Plus bundle: Marketing Automation, Desk, SalesIQ and Projects. It is the native integration layer rather than the REST API, so nothing in it covers credits, concurrency or OAuth clients, and the limits section above is the part that decides what an integration of your own costs.
Published 28 February 2024 on Zoho CRM, the channel Zoho CRM's own pages link to, and read on 23 October 2026. Nothing in it is a source for a price or a limit on this page: every figure in the tables above comes from a Zoho CRM page.
Strengths and limits
Zoho CRM is the CRM here that tells you the most about its API before you sign up.
What it does well
- The whole allowance is published: pool, per-license credits, edition ceilings and per-call costs.
- No per-second or per-minute limit, only concurrency, which suits a queue with a fixed worker count.
- A free edition for three users with 5,000 API credits a day, enough to build against.
- Batch writes are priced per ten records, so a 100-record upsert costs 10 credits.
- Four MCP servers split by job, from read-only up to schema changes.
- Server-side SDKs in seven languages, and a Developer Edition to build against.
Where it falls short
- Standard caps at 100,000 credits a day however many licenses you buy.
- The sub-concurrency limit of 10 applies to the heavy calls on every edition.
- OAuth only: access tokens last an hour and there is no static key.
- Deluge functions and integration tasks spend the same pool as your integration.
- Some calls are dear: Send Mail is 20 credits and Bulk Write initialize is 500.
- Extra credits are pay-as-you-go with no per-credit price on the pages read here.
The pattern is that Zoho is generous on paper and strict in two narrow places, the Standard ceiling and the concurrency count, and both are written down. A team that reads the limits page before building rarely meets a surprise, which is not something every CRM here can say.
Who should actually buy this
Buy Zoho CRM when you want a seat that publishes its full API allowance, credit costs and concurrency, and the integration is a steady sync rather than a burst. At $14 a user, with a free edition to build on and every limit written down, it is the easiest CRM here to size on paper.
Buy Professional rather than Standard if the API is a real part of the job. The per-license credits double, the ceiling moves from 100,000 to 3,000,000 and concurrency rises from 10 to 15, for $9 more a user. The Standard ceiling is the limit most Zoho integrations meet first.
Against Pipedrive, the closest pairing in price, the trade is in what you count. Pipedrive meters complexity in a daily token budget that resets at midnight on its clock. Zoho meters credits over a rolling 24 hours and limits concurrency instead of rate. Both are computable; Zoho is the one with a free edition and HIPAA on its entry paid edition.
Before you build against it
Four things to settle first, each one read off Zoho CRM's own pages. The ticks are remembered in this browser, so you can come back to a half-finished integration.
If Zoho CRM is not the answer
Four providers in the CRM and sync APIs listing that solve the same problem differently. Each one is a trade, and the trade is named.
Pipedrive
$14/seat/moThe same $14 seat, a personal API token, and a budget you can compute per endpoint. The closest swap if the product was fine and the developer surface was not.
HubSpot
Free tierFree with the whole API, a published per-10-second rate, and two official MCP servers. The answer if Zoho's free edition was the reason you were there.
Attio
$44/user/moA data model you define in code and one simple ceiling: 100 reads and 25 writes a second. For teams that outgrew Zoho's modules rather than its price.
Salesforce
$125/seat/moMore than a dozen APIs and a daily pool that grows with licenses. The destination when the org, not the integration, outgrew Zoho.
The full set, organized by the reason people leave, is on the Zoho CRM alternatives page.
Zoho CRM against the obvious rival
Same rate cards, read side by side, with the arithmetic done on a worked volume rather than left to you: HubSpot vs Zoho CRM, Pipedrive vs Zoho CRM and Salesforce vs Zoho CRM.
The same again, against the rest of the field: Freshsales vs Zoho CRM and Close vs Zoho CRM. Every pairing in the directory is on the compare hub.
HubSpot vs Zoho CRM
CompareA free tier with a per-10-second limit against a $14 seat with a daily credit pool and no rate limit at all.
Pipedrive vs Zoho CRM
CompareTwo cheap CRMs that both meter the API daily, and only one has a free tier.
Salesforce vs Zoho CRM
CompareThe same daily-pool idea at nine times the price, and only one of them makes you buy the API.
Calling these APIs one by one? Run them from one Clay table.
Clay runs a waterfall across 150+ data providers from one table, without a separate contract with each. A lookup that finds nothing costs no data credit, and the free plan includes 500 actions a month.
Frontal is a Clay Elite Studio Partner.
Nothing worth quoting yet
We searched Reddit for threads about the Zoho CRM API and have found none worth quoting yet. When one turns up, it goes here, and nothing on this page leans on an unquoted paraphrase.
Zoho CRM API, answered
Is the Zoho CRM API free?
Free edition for up to 3 users, with 5,000 API credits a day. Paid use starts at $14/user/mo.
How much does the Zoho CRM API cost?
Zoho CRM starts at $14/user/mo. It bills per seat, by subscription, with a free tier. Read from Zoho CRM's own pricing page on 24 October 2026.
What are the Zoho CRM API rate limits?
No per-second limit. Daily credit pool plus concurrency of 5 to 25 per org.
How do I get a Zoho CRM API key?
There is no static Zoho CRM API key. Requests authenticate with OAuth 2.0, with per-scope consent. The current steps are in Zoho CRM's own documentation, which is authoritative on anything that has changed since 24 October 2026.
Does Zoho CRM have an MCP server?
Yes. Four scoped servers, OAuth. It is listed with the others on the MCP page.