👋 Next.js Conf 2024: Come build, party, run, and connect with us! See all events

Error querying data from Sanity API in Gatsby component

3 replies
Last updated: May 10, 2020
Hi, this might be a very very basic question I apologize. I’ve made a new document type (Project) and added 4 projects to the CMS. When I run the following query on the API playground (at the API link), it works fine and I get all the data I need. 

 query {
      allProject {
        title
        subtitle
        description
        mainImage {
          asset {
            url
          }
        }
        tech
        url
        dates 
      }
    }
But, when I run this same query in my Gatsby component,

const {data} =useStaticQuery(graphql`
    query getProjects {
      allProject {
        title
        subtitle
        description
        mainImage {
          asset {
            url
          }
        }
        tech
        url
        dates 
      }
    }
  `);
I get this error:

“There was an error in your GraphQL query:

Cannot query field “allProject” on type “Query”.

If you don’t expect “allProject” to exist on the type “Query” it is most likely a typo.
However, if you expect “allProject” to exist there are a couple of solutions to common problems:”
This is the code in my Gatsby component. I have made sure to deploy the API and reload my devs server.I am new to development, and I got this structure from other people’s code on the internet. What might be going wrong? I’ve tried to read Sanity’s documentation but I couldn’t really make sense of it.
May 10, 2020, 11:00 PM
The GraphQL API inside of Gatsby is not the exact same as the free-standing GraphQL API that Sanity gives you.
You can use the GraphQL API from Sanity in any application - it isn't strictly for Gatsby.

When you run the Gatsby development server, it should give you a URL to a GraphQL explorer, something like
http://localhost:8000/___graphql
This is what you want to be using when building queries for Gatsby. They are
fairly similar, but type names are prefixed with
Sanity
, so it would be things like
allSanityProject
instead of
allProject
May 10, 2020, 11:08 PM
Thank you for clarifying!
May 10, 2020, 11:09 PM
Happy to 🙂
May 10, 2020, 11:09 PM

Sanity– build remarkable experiences at scale

Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Was this answer helpful?