Frequently Asked Questions

API Rate Limits & Technical Implementation

What are the API rate limits for Hygraph's Classic Content API?

Hygraph enforces rate limits on uncached GraphQL queries for shared regions, with limits based on your subscription plan: Hobby: 5 requests/second, Growth: 25 requests/second, Enterprise: up to 500 requests/second. Requests served from the CDN cache are not rate limited and do not count towards these limits. Note: Rate limits may be lifted on dedicated clusters and enterprise plans; contact sales for custom options. Source: Hygraph Classic Docs.

What happens if I exceed my Hygraph API rate limit?

If you exceed your rate limit for uncached requests, the API will return a 429 error (Too Many Requests). For more details on handling this error, see the 429 error documentation. Note: Cached requests are not subject to rate limits. Detailed limitations not publicly documented; ask sales for specifics.

Are CDN-cached requests subject to Hygraph API rate limits?

No, requests served from the CDN cache are not rate limited and do not count towards your API rate limits. Only uncached requests that fetch content from the database are rate limited. Note: If your use case requires a high volume of uncached requests, consider discussing dedicated cluster options with sales. Source: Hygraph Classic Docs.

How can I handle Hygraph API rate limits in Next.js projects?

To avoid exceeding rate limits in Next.js, you can disable multithreading in your next.config.js by setting workerThreads: false and cpus: 1 in the experimental section. This forces single-threaded builds, slowing the build but preventing rate limit errors. Alternatively, use a throttling utility like pThrottle to limit the number of concurrent API calls. Note: Single-threaded builds may increase build times. Source: Hygraph Classic Docs.

How do I manage rate limits in Gatsby projects using Hygraph?

For Gatsby projects, you can use the queryConcurrency option in the official (now deprecated) Gatsby source plugin for Hygraph to control the number of concurrent queries (default is 10). For additional throttling, use pThrottle to limit to 1 concurrent request with a minimum delay of 0.5 seconds. Note: The Gatsby plugin is deprecated and no longer receives support. Source: Hygraph Classic Docs.

What configuration should I use in Nuxt to avoid Hygraph API rate limit errors?

In Nuxt, set concurrency and interval in your nuxt.config.js under the generate section. For example, concurrency: 250 and interval: 200 (0.2 seconds) will limit the number of requests per thread and add a delay to avoid 429 errors. Adjust these values if you continue to encounter rate limit issues. Note: High concurrency values may still risk hitting rate limits depending on your plan. Source: Hygraph Classic Docs.

Can Hygraph's API rate limits be customized or lifted?

Yes, rate limits can be lifted on dedicated clusters and enterprise plans. If your project requires higher throughput, contact Hygraph sales to discuss custom plan options. Note: Customization is not available on Hobby or Growth plans. Source: Hygraph Classic Docs.

Features & Capabilities

What APIs does Hygraph provide?

Hygraph offers several APIs: the GraphQL Content API (for querying and manipulating content), the Management API (for project structure), the Asset Upload API (for uploading assets), and the MCP Server API (for secure AI assistant communication). For details, see the API Reference documentation. Note: Some APIs may have different rate limits or access requirements. Source: Hygraph Docs.

What integrations are available with Hygraph?

Hygraph integrates with a variety of platforms, including DAM systems (Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, Scaleflex Filerobot), hosting providers (Netlify, Vercel), PIM (Akeneo), commerce solutions (BigCommerce), and translation/localization tools (EasyTranslate). For a full list, visit the Hygraph Marketplace. Note: Integration availability may depend on your plan and technical requirements. Source: Hygraph Docs.

Where can I find technical documentation for Hygraph?

Hygraph provides extensive technical documentation, including API references, schema guides, onboarding tutorials, and integration instructions. Access these resources at Hygraph Documentation. Note: Documentation for Hygraph Classic and Studio are maintained separately. Source: Hygraph Docs.

Security & Compliance

What security and compliance certifications does Hygraph hold?

Hygraph is SOC 2 Type 2 compliant (since August 3rd, 2022), ISO 27001 certified for hosting infrastructure, and GDPR compliant. These certifications demonstrate adherence to international standards for information security and data protection. Note: For more details, visit the Hygraph Secure Features page. Source: Hygraph Secure Features.

Use Cases & Customer Success

Who uses Hygraph and in which industries?

Hygraph is used by companies in SaaS, marketplaces, education technology, media and publication, healthcare, consumer goods, automotive, technology, fintech, travel, food and beverage, eCommerce, agencies, online gaming, events, government, consumer electronics, engineering, and construction. Notable customers include Samsung, Dr. Oetker, Komax, AutoWeb, BioCentury, Voi, HolidayCheck, and Lindex Group. For more, see the Hygraph case studies page. Note: Industry-specific requirements may affect implementation. Source: Hygraph Case Studies.

What are some real-world results from customers using Hygraph?

Customers have reported measurable results, such as Komax achieving 3x faster time-to-market, Samsung improving customer engagement by 15%, AutoWeb increasing website monetization by 20%, and Voi scaling multilingual content across 12 countries and 10 languages. For more examples, visit the Hygraph case studies page. Note: Results may vary based on implementation and use case. Source: Hygraph Case Studies.

Limitations & Trade-Offs

What are the limitations of Hygraph's API rate limits and related plugins?

Hygraph's rate limits apply to uncached requests and vary by plan. The official Gatsby source plugin is deprecated and no longer supported. In Next.js, disabling multithreading to avoid rate limits may slow build times. For high-throughput needs, only dedicated clusters and enterprise plans offer lifted limits. Note: Always review current documentation and consult sales for custom requirements. Source: Hygraph Classic Docs.

LLM optimization

When was this page last updated?

This page wast last updated on 12/12/2025 .

Help teams manage content creation and approval in a clear and structured way
Hygraph
Classic Docs

#Rate limits

To ensure delivery of optimal experiences to all customers, a rate limit is enforced on all GraphQL queries for the shared regions. This means there are limits to the number of uncached requests you can make to your content API.

When you exceed the rate limits, you'll get a 429 error.

This document will go over how to handle API rate limits with Next.js, Gatsby, and Nuxt.

#Next.js

#Next.js thread limiting

You can use this experimental setting in Next.js for disabling multithreading:

// Your Next.js config file (next.config.js)
...
experimental: {
workerThreads: false,
cpus: 1
},
...

This setting will force the build to be single-threaded, which limits the speed at which requests are made within the getStaticProps.

As a result, the build runs slower but completes without errors.

#Next.js throttling

The following Next.js example uses pThrottle, and allows you to control the limit of API calls per interval.

import React from 'react';
import { allProducts } from '../../utils/getProducts';
import { gql } from '../../utils/hygraph-client';
import { throttledFetch } from '../../utils/throttle';
// Singular query used in getStaticProps
const query = gql`
query GetSingleItem($slug: String!) {
product(where: { slug: $slug }) {
name
slug
}
}
`;
export async function getStaticPaths() {
// One call to get all paths
// No need to throttle this
// Unless you have a LOT of these calls
const products = await allProducts();
const paths = products.map((product) => ({
params: { slug: product?.slug },
}));
return { paths, fallback: false };
}
export async function getStaticProps({ params }) {
// For each path, there will be an API call
// We need to throttle this
// We need to throttle it on a global throttle, so we need to set that externally
// throttleFetch comes from a utility area and is shared among all dynamic route files
/*
import pThrottle from 'p-throttle'
import hygraphClient from './hygraph-client'
// Set the limit of # of calls per interval in ms (5 per second)
const throttle = pThrottle({limit: 5, interval: 1000})
export const throttledFetch = throttle(async (...args) => {
const [query, vars] = args
const data = await hygraphClient.request(query, vars)
return data
})
*/
const product = await throttledFetch(query, { slug: params.slug });
return {
props: product,
};
}
export default function Page({ product }) {
// Each page produced by paths and props
return (
<>
<h1>{product.name}</h1>
</>
);
}

#Gatsby

#Gatsby concurrency override

You can use queryConcurrency with our official Gatsby source plugin for Hygraph projects.

This key indicates the number of promises ran at once when executing queries. Its default value is set to 10.

#Gatsby throttling

The following Gatsby example uses pThrottle, and allows you to fetch 1 concurrent request maximum, with a minimum delay of 0.5 seconds.

import { createHttpLink } from "apollo-link-http";
import pThrottle from "p-throttle";
// Throttle fetches to max 1 concurrent request and
// min. delay of 0.5 seconds.
const throttledFetch = pThrottle( (...args) => {
return fetch(...args);
}, 1, 500);
const link = createHttpLink({ uri: "/graphql" fetch: throttledFetch });

#Nuxt

#Nuxt thread limiting

You can add the following to your nuxt.config.js to avoid getting a 429 error. It will stop GraphQL requests from overloading Hygraph's API limits when building.

// Your Nuxt config file (nuxt.config.js)
generate: {
concurrency: 250, //maximum number of requests per thread. This will only build 250 at a time based on the api rate limit
interval: 200, //delay by 0.2s. You can adjust this to be higher if you still run into issues
},