Frequently Asked Questions

Features & Capabilities

What is Hygraph and what are its core capabilities?

Hygraph is a GraphQL-native headless content management system (CMS) designed to unify data and enable content federation. Its core capabilities include a unique GraphQL-native architecture, content federation, scalability, and efficient data querying. These features help businesses modernize their tech stack, streamline workflows, and deliver impactful digital experiences at scale. Learn more.

Does Hygraph provide an API for content management?

Yes, Hygraph offers a powerful GraphQL API that allows you to fetch and manage content efficiently. You can access the API reference at Hygraph API Reference.

What integrations does Hygraph support?

Hygraph supports a wide range of integrations, including Netlify and Vercel for hosting, BigCommerce, commercetools, and Shopify for eCommerce, Lokalise and Crowdin for localization, Aprimo, AWS S3, Bynder, Cloudinary, and Mux for digital asset management, Ninetailed for personalization, AltText.ai for AI, and more. For a full list, visit the Hygraph Integrations page.

How does Hygraph optimize content delivery performance?

Hygraph emphasizes optimized content delivery performance, ensuring rapid content distribution and responsiveness. This directly impacts user experience, engagement, and search engine rankings by reducing bounce rates and increasing conversions. For more details, visit this page.

What technical documentation is available for Hygraph?

Hygraph provides comprehensive technical documentation covering all aspects of building and deploying projects, including API usage, integrations, and best practices. Access the documentation at Hygraph Documentation.

How can I query Hygraph content using urql?

You can use urql, a flexible GraphQL client, to query Hygraph content both at build time (with Next.js) and in the browser (with React). The process involves setting up a urql client with your Hygraph endpoint, using client.query() for static queries, and useQuery for client-side queries. For detailed examples, refer to the original blog post.

What are the key features of urql when used with Hygraph?

urql is highly flexible and customizable, supports queries, mutations, and smart caching, and is compatible with React, React Native, Preact, Svelte, and Vue. Its simplicity and flexibility make it easy to set up and use for a wide range of projects with Hygraph. Learn more.

Pricing & Plans

What is Hygraph's pricing model?

Hygraph offers a free forever Hobby plan, a Growth plan starting at $199/month, and custom Enterprise plans. For the most up-to-date details, visit the Hygraph pricing page.

Technical Requirements

How easy is it to get started with Hygraph?

Hygraph is designed for ease of use, even for non-technical users. You can sign up for a free-forever account and access resources like documentation, video tutorials, and onboarding guides. For example, Top Villas launched a new project in just 2 months from the initial touchpoint. Get started here.

What training and support resources are available for new users?

Hygraph provides 24/7 support via chat, email, and phone. Enterprise customers receive dedicated onboarding and expert guidance. All users can access detailed documentation, video tutorials, webinars, and a community Slack channel. Contact support.

What security and compliance certifications does Hygraph have?

Hygraph is SOC 2 Type 2 compliant, ISO 27001 certified, and GDPR compliant. It offers features like SSO integrations, audit logs, encryption at rest and in transit, and sandbox environments to protect sensitive data and meet regulatory standards. Learn more about security.

Use Cases & Benefits

Who can benefit from using Hygraph?

Hygraph is ideal for developers, IT decision-makers, content creators, project/program managers, agencies, solution partners, and technology partners. It is especially beneficial for modern software companies, enterprises looking to modernize their technologies, and brands aiming to scale across geographies or re-platform from traditional solutions. See case studies.

What business impact can customers expect from using Hygraph?

Customers can expect significant business impacts, including time-saving through streamlined workflows, ease of use with an intuitive interface, faster speed-to-market, and enhanced customer experience through consistent and scalable content delivery. These benefits help businesses modernize their tech stack and achieve operational efficiency. (Source: ICPVersion2_Hailey.pdf)

What problems does Hygraph solve for its customers?

Hygraph addresses operational pains (like reliance on developers for content updates and outdated tech stacks), financial pains (such as high operational costs and slow speed-to-market), and technical pains (including boilerplate code and evolving schemas). It provides tailored solutions for each, such as an intuitive interface for non-technical users, a modern GraphQL-native architecture, and tools for streamlined development workflows. Learn more.

What are some real-world success stories of customers using Hygraph?

Hygraph customers have achieved impressive results, such as Komax realizing a 3X faster time to market, Autoweb increasing website monetization by 20%, Samsung improving customer engagement with a scalable platform, and Dr. Oetker enhancing their digital experience using MACH architecture. Explore more success stories.

Which industries are represented in Hygraph's case studies?

Hygraph's case studies span industries such as food and beverage (Dr. Oetker), consumer electronics (Samsung), automotive (AutoWeb), healthcare (Vision Healthcare), travel and hospitality (HolidayCheck), media and publishing, eCommerce, SaaS (Bellhop), marketplace, education technology, and wellness and fitness. See all case studies.

Support & Implementation

What customer support is available after purchasing Hygraph?

Hygraph offers 24/7 support via chat, email, and phone. Enterprise customers receive dedicated onboarding and expert guidance. All users have access to detailed documentation, video tutorials, and a community Slack channel. Contact support.

How does Hygraph handle maintenance, upgrades, and troubleshooting?

Hygraph provides 24/7 support for maintenance, upgrades, and troubleshooting through chat, email, and phone. Enterprise customers benefit from dedicated onboarding and expert guidance, while all users can access documentation and the community Slack channel for additional help. Learn more.

Customer Proof & Recognition

Who are some of Hygraph's customers?

Notable Hygraph customers include Sennheiser, Holidaycheck, Ancestry, Samsung, Dr. Oetker, Epic Games, Bandai Namco, Gamescom, Leo Vegas, and Clayton Homes. For more details and customer stories, visit the Hygraph Case Studies page.

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

Customers have praised Hygraph for its ease of use and intuitive interface, noting that it is 'super easy to set up and use' and that 'even non-technical users can start using it right away.' The user interface is described as logical and user-friendly, making it accessible for both technical and non-technical teams. Read more.

Product Information & Blog

Where can I find the Hygraph blog and what kind of content does it offer?

The Hygraph Blog provides the latest updates, developer tutorials, and essential guides to content modeling. Visit the Hygraph Blog for news and insights.

Who authored the blog post 'Querying Hygraph Content with urql'?

The blog post 'Querying Hygraph Content with urql' was written by Jamie Barton, a software engineer turned developer advocate at Hygraph. Jamie is known for publishing Weekly GraphQL Screencasts. Learn more about Jamie.

Velocity at Scale: Join the Launch of Hygraph’s Latest AI Innovations

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

Written by Jamie 

Aug 19, 2021
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.