GraphQL Admin API: Shipping Address Returns Null for Abandoned Checkouts

Hi everyone,

I am making API requests from an app (public but not listed yet app) installed via the Shopify Partner Dashboard on a development store, and I am encountering an issue where the shippingAddress field is returning null in the abandoned checkouts query.

Query Used:

export const GET_ABANDONED_CHECKOUTS_QUERY = `
  query ($first: Int!, $query: String!) {
    abandonedCheckouts(first: $first, query: $query) {
      edges {
        node {
          id
          createdAt
          email
          recoveryUrl
          customer {
            firstName
            lastName
            email
          }
          billingAddress {
            address1
            city
            country
          }
          shippingAddress {
            address1
            city
            country
          }
          lineItems(first: 10) {
            edges {
              node {
                title
                quantity
                variant {
                  id
                  price
                }
              }
            }
          }
        }
      }
    }
  }
`; 

Setup Details:

  • API Version: 2025-01
  • Scopes Used:
    • read_checkouts
    • read_orders
    • read_customers
    • write_checkouts
    • write_orders
    • write_products
  • Environment:
    • App installed via the Shopify Partner Dashboard
    • Authenticated API requests made to a development store

Issue:

The shippingAddress field is returning null even though:
The abandoned checkout is visible in the Shopify admin panel under Orders > Abandoned Checkouts.
The checkout process was completed with a valid shipping address.
Other checkout details (e.g., billingAddress, customer, lineItems) return correctly.
The store primarily sells physical products that require shipping.
The API token has the necessary permissions (read_orders, read_checkouts).

Has anyone encountered this issue before? Is this an expected behavior, or could it be a bug in the API?
Any guidance would be greatly appreciated.

Thanks in advance! :rocket:

Hi Murat,

Are these for orders that originated from abandoned checkouts and converted to actual completed checkouts?

Hi Liam,

Yes, and the weird part is that after opening this topic, I switched from GraphQL to the REST API, and the data started coming through.

Hi Murat,

So the expected data appears when you make a get request with the REST API, but when you query in GraphQL it’s missing data?