Core Issue:
Developers are seeking ways to retrieve available shipping methods via Shopify’s Admin API to display them in third-party apps, similar to the checkout interface. The initial poster successfully obtained names and prices using the admin/api/2024-10/shipping_zones.json endpoint but needs additional details like shipping method IDs and delivery times.
Solutions Discussed:
GraphQL Query Approach: One user shared a working GraphQL query using deliveryProfiles that retrieves shipping method definitions including IDs and names (“Standard” and “Express”).
Cart API Integration: Another developer working on a shipping discount app explained retrieving delivery options from the Cart GraphQL API, which returns handles and titles but not full method details.
Workaround Suggested: Match shipping method names from the Admin API query with handles from the Cart API’s deliveryOptions to filter and display appropriate options to users.
Current Status:
The discussion remains open with partial solutions. Developers can query method names/IDs via GraphQL but face challenges connecting Admin API data with Cart API handles for complete implementation.
Summarized with AI on November 9.
AI used: claude-sonnet-4-5-20250929.
Is there a way I can get a list of currently available shipping methods so I can display them to the customer inside a 3rd party app? Very similar to what checkout does.
I’d love to know is there a way I can also get a shipping time information using Admin API? And what’s the purpose of id property? Can I use it during Order creation (also using Admin API)?
Hi! A question. I’m trying to build a shipping discount app using Shopify functions and shipping discount API. When I query cart graphQL API for delivery methods, I get this response:
To apply the discount I use targets.deliveryOptions.handle . But how I can get this deliveryOption handle from the admin API( to surface the available options for user in the UI)?
When I’m executing your query I only get id and name, no handle.
You can show the names of your shipping methods by using the query above and then pass the names to the function and filter out the handles with the same name.
Like This code: