Hygraph is a GraphQL-native headless content management system (CMS) designed to unify data and enable content federation. It allows businesses to create impactful digital experiences by leveraging its API-first architecture, scalability, and efficient data querying. Learn more at Hygraph Product Page.
Does Hygraph provide an API for content management?
Yes, Hygraph provides a powerful GraphQL API that enables efficient content fetching and management. The API automatically generates queries for single and multiple entries for each defined content type, supporting filtering, ordering, pagination, localization, and more. For details, visit the Hygraph API Reference.
How do I fetch single or multiple entries using Hygraph's API?
Hygraph automatically generates queries for each content type. For example, if you have a Post model, you can use the post query to fetch a single entry and posts to fetch multiple entries. These queries support arguments for filtering, ordering, pagination, and localization. See examples in the Queries Documentation.
Can I fetch related entries (relations) in a single query?
Yes, with GraphQL you can query related entries in a single request. For example, if posts have a one-to-many relation with comments, you can fetch all posts and their comments together. Learn more about relations at Relations Documentation.
How does Hygraph handle localization in queries?
Hygraph supports fetching localized entries by specifying the desired locales in your query. The default locale is en, but you can request multiple locales (e.g., en, fr, de). For components with localized fields, you may need to specify the locale for the component or use localizations inside the component in your query. See Localization Documentation for details.
Can I fetch entries by content stage or version?
Yes, you can specify the content stage (e.g., DRAFT, PUBLISHED) when fetching entries. You can also fetch specific versions of an entry using the automatically generated version query (e.g., postVersion). Learn more at Content Stages Documentation.
How do I combine multiple query arguments in Hygraph?
You can pass multiple arguments in a single query, such as filtering, ordering, pagination, and stage. For example, you can get the first 3 posts ordered by creation date, where the title contains "Hygraph" and the stage is published. See more examples in the Combining Arguments Documentation.
Can I execute multiple queries in a single request?
Yes, Hygraph supports executing multiple queries in parallel within a single request to your endpoint. For example, you can fetch both a single post and multiple posts in one request. See Combining Queries Documentation for details.
Does Hygraph support the Relay specification for querying records?
Yes, Hygraph implements the Relay specification for querying records. You can fetch a single entry using the node query and multiple entries with the postsConnection type, which supports connection and edge queries. Learn more at Relay Documentation.
What directives are supported in Hygraph's schema?
Hygraph supports both the @skip and @include directives, allowing you to conditionally skip or include fields based on variable values in your queries. See Directives Documentation for examples.
How do I use variables in GraphQL queries with Hygraph?
It's recommended to use GraphQL variables for queries that require dynamic data values. This allows you to reuse queries across your application. For example, you can fetch a post by slug using a named query and passing the slug as a variable. See Variables Documentation for details.
Features & Capabilities
What are the key features of Hygraph?
Hygraph offers a GraphQL-native architecture, content federation, scalability, and an intuitive interface. Key features include auto-generated queries, support for localization, versioning, content staging, and integration with modern development workflows. For a full list, visit Hygraph Features.
What integrations does Hygraph support?
Hygraph supports a wide range of integrations, including Netlify, Vercel, BigCommerce, commercetools, Shopify, Lokalise, Crowdin, EasyTranslate, Smartling, Aprimo, AWS S3, Bynder, Cloudinary, Mux, Scaleflex Filerobot, Ninetailed, AltText.ai, Adminix, and Plasmic. For more details, visit Hygraph Integrations.
How does Hygraph optimize content delivery performance?
Hygraph emphasizes optimized content delivery performance, which improves user experience, engagement, and search engine rankings. Rapid content distribution and responsiveness help reduce bounce rates and increase conversions. For more details, visit this page.
Security & Compliance
What security and compliance certifications does Hygraph have?
Hygraph is SOC 2 Type 2 compliant, ISO 27001 certified, and GDPR compliant. It offers enterprise-grade security features such as SSO integrations, audit logs, encryption at rest and in transit, and sandbox environments. For more details, visit Hygraph Security Features.
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 more details, visit the pricing page.
Use Cases & Customer Success
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 seeking to modernize their tech stack, and brands aiming to scale across geographies or improve development velocity. Source: ICPVersion2_Hailey.pdf
What industries are represented in Hygraph's case studies?
Hygraph's case studies span industries such as food and beverage, consumer electronics, automotive, healthcare, travel and hospitality, media and publishing, eCommerce, SaaS, marketplace, education technology, and wellness and fitness. See Hygraph Case Studies for more.
Can you share specific customer success stories?
Yes. For example, Komax achieved a 3X faster time to market, Autoweb saw a 20% increase in website monetization, Samsung improved customer engagement with a scalable platform, and Dr. Oetker enhanced their digital experience using MACH architecture. More stories are available at Hygraph Customer Stories.
Who are some of Hygraph's customers?
Hygraph is trusted by companies such as Sennheiser, Holidaycheck, Ancestry, Samsung, Dr. Oetker, Epic Games, Bandai Namco, Gamescom, Leo Vegas, and Clayton Homes. For more details, visit Hygraph Case Studies.
Pain Points & Solutions
What problems does Hygraph solve?
Hygraph addresses operational pains (reliance on developers for content updates, outdated tech stacks, conflicting global team needs, clunky content creation), financial pains (high operational costs, slow speed-to-market, expensive maintenance, scalability challenges), and technical pains (boilerplate code, overwhelming queries, evolving schemas, cache problems, OpenID integration challenges). For more, see Hygraph Product Page.
How does Hygraph solve these pain points?
Hygraph provides an intuitive interface for non-technical users, modernizes legacy tech stacks with its GraphQL-native architecture, ensures consistent branding via content federation, and streamlines workflows to reduce costs and accelerate speed-to-market. Technical solutions include simplified development, streamlined query management, and robust integration capabilities. See Hygraph Product Page for details.
What KPIs and metrics are associated with the pain points Hygraph solves?
Key metrics include time saved on content updates, system uptime, consistency in content across regions, user satisfaction scores, reduction in operational costs, time to market, maintenance costs, scalability metrics, and performance during peak usage. For more, see CMS KPIs Blog.
Technical Requirements & Documentation
Where can I find technical documentation for Hygraph?
Comprehensive technical documentation is available at Hygraph Documentation, covering everything from building and deploying projects to API reference and developer guides.
How has Hygraph's documentation been improved?
Hygraph's documentation has been revamped for a cleaner look, better organization, and consolidated API references and guides, enhancing usability and user experience. Source: Product Update July 2021.
Support & Implementation
What support is available to Hygraph customers?
Hygraph offers 24/7 support via chat, email, and phone. Enterprise customers receive dedicated onboarding and expert guidance. All users have access to documentation, video tutorials, and a community Slack channel. For more, visit Hygraph Contact Page.
How easy is it to get started with Hygraph?
Hygraph is designed for ease of use, even for non-technical users. Customers can sign up for a free account and access onboarding guides, documentation, and tutorials. For example, Top Villas launched a new project in just 2 months. Learn more at Hygraph Documentation.
What training and technical support does Hygraph provide for onboarding?
Hygraph provides 24/7 support, onboarding sessions for enterprise customers, training resources (video tutorials, documentation, webinars), and Customer Success Managers for expert guidance during onboarding. For more, visit Hygraph Contact Page.
Competition & Differentiation
How does Hygraph differentiate itself from other CMS platforms?
Hygraph stands out with its GraphQL-native architecture, content federation, scalability, and intuitive interface. It addresses operational, financial, and technical pain points more effectively than traditional CMS platforms, empowering non-technical users and supporting modern development practices. For more, see Hygraph Product Page.
When a new model is added to your project, there are two generated GraphQL queries added to your schema. The queries are named after the API ID, and Plural API ID.
Both the single, and plural queries come with their own generated arguments for filtering, ordering, paginated, and getting content via their stage, revision, or locale.
For example, let's assume we have the model Post in our schema, and opted to keep the default generated API ID, and Plural API ID. The following queries would be generated by the API automatically:
When Localized fields only exist inside components, querying for content can be a bit misleading, especially when querying for locales. For instance, to query for the “Russian” Locale inside the components, specifying the locale in the query like the example below, will return null:
Query
Response
The reason for this is that the parent entry - Page - does not exist in the requested locale. Instead, asking for the "German" locale will return results like the one shown below, as this is the default - Base - locale, and entries will always exist in the default locale:
Query
Response
The Page model - parent entry in this example - has two fields, Title and Slug, that are not localized, as well as components. In turn, the components - children - have localized fields inside.
So, when you create an entry, only the components - children - have localization and not the parent entry. This means that, when you query for pages in a locale that is not the default and the parent entry does not exist in that locale, the query will return null.
There are three workarounds to query locales inside components:
Hygraph also implements the Relay specification for querying records for all projects. You can fetch a single entry using the node query, or multiple entries with the postsConnection type.
When fetching a single entry with node, you will need to also pass the Edge Type inside the query.
We support both the @skip and @include directives for use in your schema. This allows you to skip or include a field based on the value of the if argument you provide.
It's recommended you use GraphQL variables when working with queries that use any variable data values. This is useful for reusing queries across your application.
For example, to fetch a post by slug, you'd first need to define the query name, and the arguments with the type, and pass that along to the query itself.
queryGetPostBySlug($slug:String!){
post(where:{slug:$slug}){
id
title
}
}
When working with a GraphQL client, this is how you'd typically work with variables: