Stay organized with collections
Save and categorize content based on your preferences.
The local inventory service allows you to create and update instances of the
local inventory resource,
which contain fields that can have different values
for different physical store locations. Each local inventory instance is a child
of an existing product resource,
and inherits the product data fields from the
parent resource. For example, you might have a product that has a different
price and quantity in different stores, but shares an ID, description, and other
product data across all stores. Local inventory data is used for the
Local surfaces across Google
and Local Inventory Ads
programs.
This guide explains what you need before you start using the local inventory
service, describes the available fields and methods, and provides an example of
a service request.
Your Merchant Center account must be enrolled in a local program: either
Local surfaces across Google or Local inventory ads. For more
information about using local inventory ads via the Content API, see
Get Started with Local Inventory Ads.
The local inventory service creates local inventory instances for existing
local products You must first create local products, using either the Content
API products service or
Merchant Center datafeeds, by
setting the channel field to local. You can then use the local inventory
service to create local inventory instances for each Business Profile
storecode where the product is sold.
Fields
Each local inventory instance contains a set of fields that is associated with a
specific store location via the storeCode field (which you define in your
Business Profile). Only
storecode
and
productId
are required for all requests. All other fields are optional:
Required for all requests: storeCode, productId (in URL)
For a complete list of local inventory fields and their descriptions, see the
localinventory reference
page.
Methods
The local inventory service only includes two methods:
localinventory.insert
localinventory.insert
allows you to create a local inventory instance for a single local product.
This example demonstrates how to use the local inventory service to
create an in-store sale from
February 24th, 2021 at 1:00 pm (GMT-8) until February 28th, 2021 at 3:30pm
(GMT-8). The request also updates the quantity available for the local inventory
instance. Unlike
supplemental feeds
for non-local product data, fields that are not included in the body of the
request are overwritten by this call:
POST https://shoppingcontent.googleapis.com/content/v2.1/merchantId/products/productId/localinventory
localinventory.custombatch
allows you to create multiple local inventory instances for a single
local product in multiple stores, or create local inventory instances for
multiple local products.
[null,null,["Last updated 2025-08-13 UTC."],[[["\u003cp\u003eThe Merchant API beta is the new version of the Content API for Shopping, offering improvements and opportunities to shape its future.\u003c/p\u003e\n"],["\u003cp\u003eThe local inventory service enables management of product data specific to physical store locations, like price and quantity, used for Local surfaces across Google and Local Inventory Ads.\u003c/p\u003e\n"],["\u003cp\u003eTo utilize the local inventory service, prerequisites include a linked and verified Business Profile, Merchant Center account enrollment in a local program, and pre-existing local products.\u003c/p\u003e\n"],["\u003cp\u003eThe service provides two methods: \u003ccode\u003elocalinventory.insert\u003c/code\u003e for creating single local inventory instances and \u003ccode\u003elocalinventory.custombatch\u003c/code\u003e for creating multiple instances across products or stores.\u003c/p\u003e\n"],["\u003cp\u003eWhile you can create and update local inventory, retrieving, listing, or deleting instances is not supported; viewing data is possible within Merchant Center's product details.\u003c/p\u003e\n"]]],["The Merchant API's beta version is introduced as the new Content API for Shopping. The local inventory service within the Merchant API allows creating and updating local inventory instances for physical store locations, linked to existing product resources. Prerequisites include setting up a Business Profile, linking it to Merchant Center, verifying the business, and enrolling in a local program. The service supports `localinventory.insert` to create a single instance and `localinventory.custombatch` for multiple instances and only `storeCode` and `productId` are required for all requests.\n"],null,["# Local inventory service\n\nThe local inventory service allows you to create and update instances of the\n[local inventory resource](/shopping-content/reference/rest/v2.1/localinventory#resource:-localinventory),\nwhich contain fields that can have different values\nfor different physical store locations. Each local inventory instance is a child\nof an existing [product resource](/shopping-content/reference/rest/v2.1/products#resource:-product),\nand inherits the product data fields from the\nparent resource. For example, you might have a product that has a different\nprice and quantity in different stores, but shares an ID, description, and other\nproduct data across all stores. Local inventory data is used for the\n[Local surfaces across Google](//support.google.com/merchants/answer/9825611)\nand [Local Inventory Ads](//support.google.com/merchants/answer/3057972)\nprograms.\n\nThis guide explains what you need before you start using the local inventory\nservice, describes the available fields and methods, and provides an example of\na service request.\n| **Note:** In v2.1 of the Content API, the local inventory service and supplemental feeds replace the inventory service in v2. To perform partial updates to non-local product data with API v2.1, use [supplemental feeds](/shopping-content/guides/products/supplemental-feeds). To make supplemental local product updates, use the [`localinventory`\n| service](/shopping-content/guides/products/local-inventory).\n\nPrerequisites\n-------------\n\n- In order to use the local inventory service, you must [create a Business Profile](//support.google.com/business/answer/6300717), [link your Business Profile to your Merchant Center account](/shopping-content/guides/how-tos/lia/link-gmb), [verify your business](//support.google.com/business/answer/6300716), and [set up your Business Profile store codes](//support.google.com/business/answer/4542487).\n- Your Merchant Center account must be enrolled in a local program: either\n **Local surfaces across Google** or **Local inventory ads** . For more\n information about using local inventory ads via the Content API, see\n [Get Started with Local Inventory Ads](/shopping-content/guides/how-tos/lia/get-started).\n\n | **Note:** If your Merchant Center account is not enrolled in a local program, setting a product's `channel` field to `local`, via the [`Products.insert`](/shopping-content/reference/rest/v2.1/products/insert) method, results in the error: \"\u003cvar translate=\"no\"\u003echannel\u003c/var\u003e Invalid channel: local\".\n- The local inventory service creates local inventory instances for existing\n local products You must first create local products, using either the Content\n API [products](/shopping-content/reference/rest/v2.1/products) service or\n Merchant Center [datafeeds](//support.google.com/merchants/answer/7439882), by\n setting the `channel` field to `local`. You can then use the local inventory\n service to create local inventory instances for each Business Profile\n `storecode` where the product is sold.\n\nFields\n------\n\nEach local inventory instance contains a set of fields that is associated with a\nspecific store location via the `storeCode` field (which you define in your\nBusiness Profile). Only\n[`storecode`](/shopping-content/reference/rest/v2.1/localinventory#LocalInventory.FIELDS.store_code)\nand\n[`productId`](/shopping-content/reference/rest/v2.1/products#Product.FIELDS.id)\nare required for all requests. All other fields are optional:\n\n- Required for all requests: `storeCode`, `productId` (in URL)\n- Optional: `quantity`, `price`, `salePrice`, `salePriceEffectiveDate`, `availability`, `pickupMethod`, `pickupSla`, `instoreProductLocation`\n\nFor a complete list of local inventory fields and their descriptions, see the\n[localinventory](/shopping-content/reference/rest/v2.1/localinventory) reference\npage.\n\nMethods\n-------\n\nThe local inventory service only includes two methods:\n\n### localinventory.insert\n\n[`localinventory.insert`](/shopping-content/reference/rest/v2.1/localinventory/insert)\nallows you to create a local inventory instance for a single local product.\n\nThis example demonstrates how to use the local inventory service to\n[create an in-store sale](//support.google.com/merchants/answer/9017019) from\nFebruary 24th, 2021 at 1:00 pm (GMT-8) until February 28th, 2021 at 3:30pm\n(GMT-8). The request also updates the quantity available for the local inventory\ninstance. Unlike\n[supplemental feeds](/shopping-content/guides/products/supplemental-feeds)\nfor non-local product data, fields that are not included in the body of the\nrequest are overwritten by this call: \n\n POST https://shoppingcontent.googleapis.com/content/v2.1/\u003cvar translate=\"no\"\u003emerchantId\u003c/var\u003e/products/\u003cvar translate=\"no\"\u003eproductId\u003c/var\u003e/localinventory\n\n {\n \"storeCode\": \"1235\",\n \"salePrice\": {\n \"value\": \"100.00\",\n \"currency\": \"USD\"\n },\n \"salePriceEffectiveDate\": \"2021-02-24T13:00-0800/2021-02-28T15:30-0800\",\n \"quantity\": 200,\n }\n\n### localinventory.custombatch\n\n[`localinventory.custombatch`](/shopping-content/reference/rest/v2.1/localinventory/custombatch)\nallows you to create multiple local inventory instances for a single\nlocal product in multiple stores, or create local inventory instances for\nmultiple local products.\n| **Note:** It is not possible to retrieve, list, or delete local inventory instances. To view local inventory data in Merchant Center, select a local product in the **All products** page and then expand the **Local inventory** section. The table displays the local inventory data for each store code."]]