Create or identify a product catalog in Meta Business Manager and obtain the `catalog_id`; authenticate using a System User access token with `catalog` permissions.
For batch updates, use the Catalog Batch API by POSTing to `/{catalog_id}/items_batch` with a `requests` array; each element specifies a `method` (`CREATE`, `UPDATE`, or `DELETE`) and an `item_type` (e.g., `PRODUCT_ITEM`) with the product data.
Required fields for a product item include: `id` (your unique retailer ID), `availability`, `condition`, `description`, `image_link`, `link`, `title`, and `price` (formatted as `amount currency_code`).
Each batch request can contain up to 5,000 items; split larger catalogs across multiple requests and respect the API rate limits.
Poll for batch processing results using the `handles` returned from the batch POST by querying the check batch status endpoint, and inspect per-item errors.
For ongoing sync, consider using a data feed (hosted URL or scheduled upload) as an alternative to the API for large static catalogs.
Known gotchas
The `price` field must be formatted as a string in the form `9.99 USD` (amount followed by ISO 4217 currency code with a space); incorrect formatting causes per-item rejections without a top-level error.
Product items that fail Meta's content policy (e.g., prohibited product categories, image policy violations) are rejected at the item level — check per-item status rather than assuming bulk success means full success.
Facebook Commerce eligibility requires the catalog to be associated with a Shop and connected to a Facebook Page or Instagram account; the API can upload items successfully even if the Shop is not yet approved for checkout.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp