You can display whether a product is in stock and available for local pickup using the [Storefront API](/docs/api/storefront). Customers can then pick up their online orders at a retail store, a curbside pickup location, or any location that a merchant chooses. This guide shows you how to support local pickup on a custom storefront. ## Requirements - You've completed the [Getting started with the Storefront API](/docs/storefronts/headless/building-with-the-storefront-api/getting-started) guide. - You're familiar with [querying products and collections](/docs/storefronts/headless/building-with-the-storefront-api/products-collections/getting-started). - You've created [products](/docs/api/admin-graphql/latest/objects/product) and [variants](/docs/api/admin-graphql/latest/objects/productvariant) in your store. - You've [enabled local pickup](https://help.shopify.com/en/manual/shipping/setting-up-and-managing-your-shipping/local-methods/local-pickup) for one or more of your locations. - Your Headless channel or custom app has the `unauthenticated_read_product_pickup_locations` [access scopes](/docs/api/usage/access-scopes). Learn how to [request permissions for Headless channels](/docs/storefronts/headless/building-with-the-storefront-api/manage-headless-channels#request-storefront-permissions). ## Step 1: Determine pickup availability for a product variant When a user selects a particular product variant, you can query for its in-store pickup availability. Within the [`storeAvailability`](/docs/api/storefront/latest/objects/StoreAvailability) object, you can query whether a variant is in stock at a location (`available`), the location where the variant is stocked (`location`), and the estimated amount of time that it takes for the pickup to be ready (`pickUpTime`). The response includes a list of pickup locations that are sorted alphabetically by city and location name.