Table of Contents
Sell anywhere, to anyone, with Shopify’s ecommerce platform and point-of-sale features.
API Overview
Shopify is an e-commerce platform that empowers businesses of all sizes to create and manage their online stores. It offers a comprehensive suite of features, including customizable templates, payment processing, inventory management, and marketing tools. Shopify's user-friendly interface and robust functionality make it an ideal solution for entrepreneurs seeking to establish an online presence. Additionally, Shopify's vast app marketplace provides access to a wide range of third-party integrations, allowing businesses to tailor their stores to meet specific needs.
Shopify's API overview provides developers with the tools and resources necessary to integrate with the platform. The extensive documentation offers detailed guidance on API usage, including code samples and tutorials. Shopify utilizes REST APIs, enabling developers to interact with the platform's resources through HTTP requests. Webhooks allow for real-time notifications, ensuring that applications can respond promptly to events within the store. To ensure optimal performance, Shopify implements rate limits, which restrict the number of API requests that can be made within a specified timeframe. By adhering to these guidelines, developers can create seamless and efficient integrations that enhance the functionality of Shopify stores.
API Request Limits
Basic Plan
5,000 requests per month
Standard Plan
10,000 requests per month
Advanced Plan
15,000 requests per month
Shopify Plus Plan
Unlimited requests per month
APIs
Method: GET
Description: Retrieve a list of orders..
Endpoint: admin/api/2022-10/orders.json
Parameters: created_at_max, created_at_min, customer_email, financial_status, fulfillment_status, ids, limit, order, page, processed_at_max, processed_at_min, since_id, status, updated_at_max, updated_at_min
Method: POST
Description: Create a new order..
Endpoint: admin/api/2022-10/orders.json
Parameters: billing_address, customer_email, gateway, line_items, note, payment_terms, shipping_address, tags, transactions
Method: GET
Description: Retrieve a list of customers..
Endpoint: admin/api/2022-10/customers.json
Parameters: created_at_max, created_at_min, email, first_name, ids, last_name, limit, metafield, order, page, since_id, updated_at_max, updated_at_min
Method: GET
Description: Retrieve a list of products..
Endpoint: admin/api/2022-10/products.json
Parameters: collection_id, created_at_max, created_at_min, handle, ids, limit, metafields, order, page, product_type, published_at_max, published_at_min, stock, tags, title, updated_at_max, updated_at_min, variants
Method: POST
Description: Create a refund..
Endpoint: admin/api/2022-10/orders/{order_id}/refunds.json
Parameters: amount, billing_address, merchant_note, notification_email, order_adjustments, payment_gateway, refund_line_items, shipping, transaction_id
Method: GET
Description: Retrieve a list of locations..
Endpoint: admin/api/2022-10/locations.json
Parameters: active, created_at_max, created_at_min, ids, limit, order, page, since_id, updated_at_max, updated_at_min
Method: PUT
Description: Update a product..
Endpoint: admin/api/2022-10/products/{product_id}.json
Parameters: body_html, handle, images, options, product_type, published, published_scope, tags, title, variants
Method: POST
Description: Create a new product..
Endpoint: admin/api/2022-10/products.json
Parameters: body_html, handle, images, options, product_type, published, published_scope, tags, title, variants
Method: PUT
Description: Update an order..
Endpoint: admin/api/2022-10/orders/{order_id}.json
Parameters: cancel_reason, email, financial_status, fulfillment_status, note_attributes, note, payment_gateway_names, refund_regulatory_options, send_receipt, status, tax_lines, tags, transactions
Method: GET
Description: Retrieve a list of draft orders..
Endpoint: admin/api/2022-10/draft_orders.json
Parameters: created_at_max, created_at_min, customer_email, ids, limit, order, page, since_id, status, updated_at_max, updated_at_min
Method: GET
Description: Retrieve a list of tax rates..
Endpoint: admin/api/2022-10/tax_rates.json
Parameters: created_at_max, created_at_min, country_code, ids, limit, order, page, province_code, since_id, updated_at_max, updated_at_min
Method: DELETE
Description: Delete a product variant..
Endpoint: admin/api/2022-10/products/{product_id}/variants/{variant_id}.json
Parameters:
Method: GET
Description: Retrieve information about the shop..
Endpoint: admin/api/2022-10/shop.json
Parameters:
Method: POST
Description: Create a new draft order..
Endpoint: admin/api/2022-10/draft_orders.json
Parameters: body, invoice_sent_at, shipping_address, taxes_included, tax_exempt
Method: GET
Description: Retrieve a list of transactions..
Endpoint: admin/api/2022-10/transactions.json
Parameters: created_at_max, created_at_min, gateway, ids, limit, order, page, since_id, status, test, updated_at_max, updated_at_min
Method: DELETE
Description: Delete a product..
Endpoint: admin/api/2022-10/products/{product_id}.json
Parameters:
Method: GET
Description: Retrieve a list of product variants..
Endpoint: admin/api/2022-10/products/{product_id}/variants.json
Parameters: created_at_max, created_at_min, ids, limit, order, page, product_id, since_id, updated_at_max, updated_at_min
Method: GET
Description: Retrieve a single product..
Endpoint: admin/api/2022-10/products/{product_id}.json
Parameters:
Method: GET
Description: Retrieve a list of refunds..
Endpoint: admin/api/2022-10/refunds.json
Parameters: created_at_max, created_at_min, ids, limit, order, page, processing_method, since_id, status, updated_at_max, updated_at_min
Method: GET
Description: Retrieve a list of collection..
Endpoint: admin/api/2022-10/collections.json
Parameters: created_at_max, created_at_min, ids, limit, order, page, published_at_max, published_at_min, since_id, title, updated_at_max, updated_at_min
Method: GET
Description: Retrieve a single order..
Endpoint: admin/api/2022-10/orders/{order_id}.json
Parameters:
Method: PUT
Description: Update a draft order..
Endpoint: admin/api/2022-10/draft_orders/{draft_order_id}.json
Parameters: body, invoice_sent_at, shipping_address, taxes_included, tax_exempt
Method: DELETE
Description: Delete an order..
Endpoint: admin/api/2022-10/orders/{order_id}.json
Parameters:
FAQ
How do I authenticate to the Shopify API?
You can authenticate to the Shopify API using an OAuth access token. This token is generated when a user authorizes your app to access their Shopify store.
What are the rate limits for the Shopify API?
The Shopify API has rate limits in place to prevent abuse of the API. These limits vary depending on the endpoint being accessed.
How can I create a sandbox account for testing my Shopify app?
You can create a sandbox account by signing up for a Shopify Partner account. This will give you access to a sandbox store that you can use to test your app.
What are the differences between a developer account and a partner account?
A developer account is for developers who want to build and test apps for the Shopify App Store. A partner account is for businesses who want to sell apps or services to Shopify merchants.
How do I handle API errors?
You can handle API errors by checking the HTTP status code of the response. If the status code is not 200, then an error has occurred. You can then use the error message to determine how to handle the error.