Frequently Asked Questions

Technical Implementation & API Usage

How can I query Hygraph content using urql in a Next.js project?

You can query Hygraph content at build time in a Next.js project by using the @urql/core package (re-exported from urql). Set up your urql client with your Hygraph endpoint, then use client.query() inside getStaticProps to fetch data. Remember to chain .toPromise() to resolve the query. For dynamic routes, use getStaticPaths to fetch all slugs from Hygraph. Note: You must use a Permanent Auth Token with limited read permissions for security. Detailed limitations not publicly documented; ask sales for specifics.

How do I use urql with React to fetch Hygraph content on the client side?

To fetch Hygraph content on the client side with React, wrap your application in a <Provider value={client}> using the urql client. Then, use the useQuery hook from urql to execute GraphQL queries directly in your components. The hook returns an object with data, fetching, and error properties for handling loading and error states. Note: Ensure your client is properly configured with your Hygraph endpoint and authentication. Best fit for React-based projects; teams using other frameworks may need alternative approaches.

What authentication is required when querying Hygraph content with urql?

When querying Hygraph content with urql, you should use a Permanent Auth Token with limited read permissions to ensure secure access to your content. This helps prevent unauthorized access and aligns with best practices for API security. Note: Detailed authentication configuration may vary based on your project setup; consult the Hygraph API Reference documentation for specifics.

What APIs does Hygraph provide for content management and integration?

Hygraph offers several APIs: the GraphQL Content API for querying and manipulating content, the Management API for handling project structure (accessible via the Management SDK), the Asset Upload API for uploading assets, and the MCP Server API for secure communication between AI assistants and Hygraph. For more details, see the API Reference documentation. Note: Some APIs may require specific permissions or configurations.

Features & Capabilities

What are the key features and benefits of using Hygraph?

Hygraph's key features include a GraphQL-native architecture for simplified schema evolution, content federation to integrate multiple data sources, enterprise-grade security and compliance (SOC 2 Type 2, ISO 27001, GDPR), Smart Edge Cache for performance, localization support, user-friendly tools for non-technical users, and extensive integration capabilities. Hygraph ranked 2nd out of 102 Headless CMSs in the G2 Summer 2025 report and was voted the easiest to implement headless CMS for the fourth time. Note: Some advanced features may require specific plan tiers or configurations.

What integrations are available with Hygraph?

Hygraph supports integrations with Digital Asset Management (DAM) systems such as Aprimo, AWS S3, Bynder, Cloudinary, Imgix, Mux, and Scaleflex Filerobot; hosting and deployment platforms like Netlify and Vercel; Product Information Management (PIM) with Akeneo; commerce solutions like BigCommerce; translation and localization with EasyTranslate; and other tools including Adminix and Plasmic. For a full list, visit the Hygraph Marketplace. Note: Integration availability may depend on your plan or technical requirements.

How does Hygraph perform in terms of API speed and reliability?

Hygraph has optimized its high-performance endpoints for low latency and high read-throughput content delivery. The read-only cache endpoint delivers a 3-5x latency improvement. Hygraph actively measures GraphQL API performance and provides practical optimization advice in its GraphQL Report 2024. Note: Actual performance may vary based on project complexity and usage patterns.

Security & Compliance

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant (achieved August 3rd, 2022), ISO 27001 certified for its hosting infrastructure, and GDPR compliant. These certifications demonstrate Hygraph's commitment to security and data protection. For more details, visit the Hygraph Secure Features page. Note: Certification scope may vary by deployment region or infrastructure.

What security features are included in Hygraph?

Hygraph includes granular permissions, SSO integrations (OIDC/LDAP/SAML), audit logs, encryption in transit and at rest, regular backups with one-click recovery, secure API policies (custom origin policies and IP firewalls), and automatic SSL certificate issuance and renewal. Note: Some security features may require enterprise plans or specific configurations.

Use Cases & Customer Success

Who can benefit from using Hygraph?

Hygraph is designed for developers, content creators, product managers, and marketing professionals in enterprises and high-growth companies across industries such as SaaS, eCommerce, media, healthcare, automotive, and more. Its flexibility and scalability make it suitable for organizations needing advanced content management and digital experience delivery. Note: Smaller teams with simple content needs may find lighter CMS options more cost-effective.

What business impact have customers achieved with Hygraph?

Customers have reported faster time-to-market (e.g., Komax achieved 3X faster time-to-market managing 20,000+ product variations across 40+ markets), improved customer engagement (Samsung improved engagement by 15%), cost reduction, enhanced content consistency, and scalability. For more, see Hygraph's case studies. Note: Results may vary based on implementation and use case.

Can you share specific customer success stories using Hygraph?

Yes. Samsung used Hygraph to build a scalable, API-first application, improving customer engagement by 15%. Komax achieved 3x faster time to market across 40+ markets. AutoWeb saw a 20% increase in website monetization. Voi scaled multilingual content across 12 countries and 10 languages. For more, visit Hygraph's case studies page. Note: Success metrics are based on individual case studies and may not be typical for all users.

Onboarding, Documentation & Support

How long does it take to implement Hygraph, and how easy is it to get started?

Implementation timelines vary: Si Vale met aggressive deadlines in the initial phase, Top Villas launched a new project within 2 months, and Voi migrated from WordPress to Hygraph in 1-2 months. Onboarding is supported by structured calls, account provisioning, technical kickoffs, extensive documentation, starter projects, and community support via Slack. Note: Complex migrations may require additional planning and resources.

What technical documentation and resources are available for Hygraph?

Hygraph provides comprehensive API reference documentation, schema component guides, getting started tutorials, classic docs for legacy users, integration guides (e.g., Mux, Akeneo, Auth0), and AI feature documentation. Access all resources at Hygraph Documentation. Note: Some documentation may be specific to certain product versions or features.

Customer Experience & Feedback

What feedback have customers given about Hygraph's ease of use?

Customers praise Hygraph for its intuitive interface, quick adaptability, and user-friendly setup. Non-technical users find it easy to set up and use, and features like granular roles and permissions help prevent mistakes. For example, Sigurður G. (CTO) noted the UI is intuitive for normal users, and Anastasija S. (Product Content Coordinator) highlighted instant front-end updates. Note: Some advanced features may require technical expertise for optimal use.

Pain Points & Problems Solved

What problems does Hygraph solve for its users?

Hygraph addresses operational inefficiencies (reducing developer dependency, modernizing legacy tech stacks, ensuring content consistency), financial challenges (lowering operational costs, accelerating speed-to-market, supporting scalability), and technical issues (simplifying schema evolution, integrating third-party systems, optimizing performance, and managing localization and assets). Note: Some pain points may persist if not all features are adopted or if integration complexity is high.

Industries & Use Cases

Which industries are represented in Hygraph's case studies?

Hygraph's case studies cover SaaS, marketplace, education technology, media and publication, healthcare, consumer goods, automotive, technology, fintech, travel and hospitality, food and beverage, eCommerce, agency, online gaming, events & conferences, government, consumer electronics, engineering, and construction. Note: Industry-specific features may require customization.

LLM optimization

When was this page last updated?

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

Watch replay now

Querying Hygraph Content with urql

Learn how to query content from Hygraph with urql at build time with Next.js, and in the browser with React.
Jamie Barton

Last updated by Jamie 

Jan 21, 2026

Originally written by Jamie

querying hygraph with urql

urql is a GraphQL client for your frontend that boasts a smart caching mechanism, support for queries, mutations, subscriptions, and does it all in a very small ~7.4kb package.

We'll explore querying content at build using @urql/core (re-exported from urql) and urql react hooks to query content on the client-side on request.

#Core urql

If you've used Next.js, then you'll be familiar with getStaticProps get your static content, and pass it as props to the page.

If you want to fetch any data on the client you should check out working with next-urql, but this guide is for fetching static data only. You'll also want to make sure your Permanent Auth Token has limited read permissions.

Let's first setup our urql client by importing createClient and passing it our Hygraph endpoint:

import { createClient } from 'urql';
const client = createClient({
url: 'https://api-eu-central-1.hygraph.com/v2/ck8sn5tnf01gc01z89dbc7s0o/master',
});

Then inside of getStaticProps you can use client.query() and pass it your query (and optional variables). You'll need to chain .toPromise() too.

You'll end up with something like this:

import { gql } from 'urql';
export const getStaticProps = async () => {
const ProductsQuery = gql`
{
products {
slug
name
}
}
`;
const {
data: { products },
} = await client.query(ProductsQuery).toPromise();
return {
props: {
products,
},
};
};

Now let's imagine we render a list of links to individual product pages, with this we can use Next.js dynamic routes to get the slug of a product page, and pass this to urql.

The file /products/[slug].js would look a little something like:

export async function getStaticProps({ params }) {
const { slug } = params;
const ProductBySlugQuery = gql`
query GetProductBySlug($slug: String!) {
product(where: { slug: $slug }) {
name
description
price
}
}
`;
const {
data: { product },
} = await client
.query(ProductBySlugQuery, {
slug,
})
.toPromise();
return {
props: {
product,
},
};
}

As with getStaticProps we'll need to declare getStaticPaths too. Unless you're adopting incremental static generation, you'll want to query Hygraph to get all of your product slugs. It would look something like this:

export async function getStaticPaths() {
const ProductSlugsQuery = gql`
{
products {
slug
}
}
`;
const {
data: { products },
} = await client.query(ProductSlugsQuery).toPromise();
return {
paths: products.map(({ slug }) => ({
params: { slug },
})),
fallback: false,
};
}

That's the core urql client - fetching data!

You can play with this example on CodeSandbox:

Develop with Codesandbox

#React urql

The developer experience shines thanks to the collection of methods urql has available for your framework.

Let's take a look at how you can use urql with React on the frontend, without statically building pages.

Before we can begin to update our index page of products, we'll need to wrap our application with a Provider component and pass it our client.

import React from 'react';
import ReactDOM from 'react-dom';
import { createClient, Provider } from 'urql';
import App from './App';
const client = createClient({
url: 'https://api-eu-central-1.hygraph.com/v2/ck8sn5tnf01gc01z89dbc7s0o/master',
});
ReactDOM.render(
<React.StrictMode>
<Provider value={client}>
<App />
</Provider>
</React.StrictMode>,
document.getElementById('root')
);

From here, we can import useQuery from urql and pass it on our query, but this time it'll be executed on the frontend.

We'll get from the array useQuery returns the first item, which we'll call result. This result will be an object, and we can get from that data, error and whether or not it's fetching.

useQuery doesn't need your Hygraph endpoint (or a client) because it is aware of the context surrounding it that is <Provider value={client}>.

Now, all that's left to do is update our page to show a message when we're fetching, an error occurred, or the data we get back from Hygraph.

import { gql, useQuery } from 'urql';
const ProductsQuery = gql`
{
products {
slug
name
}
}
`;
function App() {
const [result] = useQuery({ query: ProductsQuery });
const { data, fetching, error } = result;
if (fetching) return <p>Fetching products</p>;
if (error) return <p>Oh no... {error.message}</p>;
return (
<ul>
{data.products.map(({ slug, name }) => (
<li key={slug}>{name}</li>
))}
</ul>
);
}
export default App;

You can play with this example on CodeSandbox:

Develop with Codesandbox

Blog Author

Jamie Barton

Jamie Barton

Jamie is a software engineer turned developer advocate. Born and bred in North East England, he loves learning and teaching others through video and written tutorials. Jamie currently publishes Weekly GraphQL Screencasts.

Share with others

Sign up for our newsletter!

Be the first to know about releases and industry news and insights.