> ## Documentation Index
> Fetch the complete documentation index at: https://nango.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Zoho

> Access the Zoho API in 2 minutes 💨

> [tab] 🚀 Quickstart
>
> **1. Create an integration**
>
> In Nango ([free signup](https://app.nango.dev)), go to [Integrations](https://app.nango.dev/dev/integrations) -> *Configure New Integration* -> *Zoho*.
>
> > [!NOTE]
> >
> > Nango has a [Nango-managed OAuth app](https://nango.dev/docs/guides/auth/auth-guide.md#nango-managed-oauth-apps) you can use in development and production. Select it when you create the integration.
>
> **2. Authorize Zoho**
>
> Go to [Connections](https://app.nango.dev/dev/connections) -> *Add Test Connection* -> *Authorize*, then log in to Zoho. Later, you'll let your users do the same directly from your app.
>
> **3. Call the Zoho API**
>
> Let's make your first request to the Zoho API (fetch a list of contacts). Replace the placeholders below with your [Environment API key](https://nango.dev/docs/reference/backend/http-api/api-keys.md), [integration ID](https://app.nango.dev/dev/integrations), and [connection ID](https://app.nango.dev/dev/connections):
>
> > [tab] cURL
> >
> > ```bash theme={null}
> > curl "https://api.nango.dev/proxy/crm/v2/Contacts?per_page=10" \
> >   -H "Authorization: Bearer <NANGO-API-KEY>" \
> >   -H "Provider-Config-Key: <INTEGRATION-ID>" \
> >   -H "Connection-Id: <CONNECTION-ID>"
> > ```
>
> > [tab] Node
> >
> > Install Nango's backend SDK with `npm i @nangohq/node`. Then run:
> >
> > ```typescript theme={null}
> > import { Nango } from '@nangohq/node';
> >
> > const nango = new Nango({ apiKey: '<NANGO-API-KEY>' });
> >
> > const res = await nango.get({
> >     endpoint: '/crm/v2/Contacts',
> >     providerConfigKey: '<INTEGRATION-ID>',
> >     params: {
> >       per_page: 10
> >     },
> >     connectionId: '<CONNECTION-ID>'
> > });
> >
> > console.log(JSON.stringify(res.data.data, null, 2));
> > ```
>
> Or fetch credentials dynamically via the [Node SDK](https://nango.dev/docs/reference/backend/backend-sdk/node.md#get-a-connection-with-credentials) or [API](https://nango.dev/docs/reference/backend/http-api/connections/get.md).
>
> ✅ You're connected! Check the [Logs](https://app.nango.dev/dev/logs) tab in Nango to inspect requests.
>
> > [!TIP]
> >
> > Next step: [Embed the auth flow](https://nango.dev/docs/guides/primitives/auth.md) in your app to let your users connect their Zoho accounts.

> [tab] 🧑‍💻 OAuth app setup
>
> **1. Create a Zoho account**
>
> If you don't already have one, go to [Zoho's signup page](https://www.zoho.com/signup.html) and create one.
>
> **2. Access the Zoho API Console**
>
> 1. Go to the [Zoho API Console](https://api-console.zoho.com/).
> 2. Sign in with your Zoho account if prompted.
>
> **3. Create a new client**
>
> 1. In the API Console, click on the **+ ADD CLIENT** button and select **Server-based Applications** as your client type.
> 2. Fill in all the required information. For **Authorized Redirect URIs** enter `https://api.nango.dev/oauth/callback`
> 3. Click **Create** to register your client. You will then receive a **Client ID** and **Client Secret**, which are required to configure your integration in Nango.
>
> **4. Configure Multi-DC**
>
> 1. On the **Settings** tab, check the option to use the same OAuth credentials for all data centers, this enables you to handle users from different regions
>
> **5. Next**
>
> Follow the [*Quickstart*](https://nango.dev/docs/getting-started/quickstart.md).
>
> ## Common Scopes
>
> | Scope | Description |
> | - | - |
> | `AaaServer.profile.READ` | Read access to user profile |

> [tab] 🔗 Useful links
>
> | Topic | Links |
> | - | - |
> | Authorization | [Guide to connect to Zoho using Connect UI](https://nango.dev/docs/integrations/all/zoho/connect) |
> | General | [Zoho API Console](https://api-console.zoho.com/) |
> | | [Zoho Website](https://www.zoho.com) |
> | Developer / OAuth | [OAuth 2.0 Overview](https://www.zoho.com/accounts/protocol/oauth.html) |
> | | [Get Authorization Code](https://www.zoho.com/accounts/protocol/oauth/web-apps/authorization.html) |
> | | [Get Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token.html) |
> | | [Refresh Access Token](https://www.zoho.com/accounts/protocol/oauth/web-apps/access-token-expiry.html) |
> | | [Multi DC Support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html) |
> | | [OAuth Scopes](https://www.zoho.com/accounts/protocol/oauth/scope.html) |
> | API | [Zoho REST APIs](https://www.zoho.com/developer/rest-api.html) |
>
> > [!NOTE]
> >
> > Contribute useful links by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho.mdx)

> [tab] 🚨 API gotchas
>
> * Zoho offers multiple services, each with its own API. Have a look at the various services offered by Nango to integrate them independently. Each Zoho service has its own specific API endpoints and scopes. The OAuth setup process is similar across all Zoho services.
>
> * Zoho uses datacenter-specific URLs for authentication. Make sure to use the correct datacenter domain extension (`com`, `eu`, `in`, `com.cn`, `com.au`) based on where your user's account is registered.
>
> * Zoho has rate limits that vary by service. Check the specific service documentation for details.
>
> * If your application needs to access multiple Zoho services, you need to request scopes for each service during the authorization process.
>
> * For production applications, consider implementing [multi-datacenter support](https://www.zoho.com/accounts/protocol/oauth/multi-dc.html) to handle users from different regions.
>
> > [!NOTE]
> >
> > Contribute API gotchas by [editing this page](https://github.com/nangohq/nango/tree/master/docs/integrations/all/zoho.mdx)

> [!NOTE]
>
> Questions? Join us in the [Slack community](https://nango.dev/slack).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.