
Grocery Shopping - Kroger
Available ActionsEach successful request consumes credits as outlined below.
Details
Search products, find stores, and add items to your cart across 2700+ Kroger family stores including Kroger, Ralphs, Fred Meyer, King Soopers, and more. Features batch search (pass an array of items to search all at once), allergen filtering (gluten, dairy, egg, peanut, tree nut, soy, fish, shellfish, sesame, corn, mustard, celery, lupine, sulfite), nutrition filters (max calories, fat, sugar, sodium, cholesterol, carbs; min protein, fiber), SNAP/EBT eligibility filter, and full product details including nutrition panels, allergen data, and ratings.
Use Cases
Search grocery products by name or brand, Filter products by allergens like gluten dairy egg peanut soy, Find low-calorie or low-sugar groceries with nutrition filters, Search for high-protein or high-fiber foods, Find SNAP/EBT eligible grocery items, Get full nutrition facts and ingredients for any product, Find nearby Kroger family stores by zip code, Check product pricing and availability at specific stores, Add items to Kroger cart for pickup or delivery, Compare prices across store locations, Plan meals with dietary restriction support, Build grocery lists for specialized diets
Connect Your Agent In 5 Min
Watch the setup guide for your platform
Or Install Locally
STDIO connector for Claude Code, Codex, Cursor, Zed, and other LLMs that require STDIO or custom connections. This lightweight connector routes requests to https://api.agentpmt.com/mcp. All tool execution happens in the cloud and the server cannot edit any files on your computer.
npm install -g @agentpmt/mcp-routeragentpmt-setupcurl -X POST "https://api.agentpmt.com/products/purchase" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ********" \
-d '{
"product_id": "699544248a76bb5318ba60b7",
"parameters": {
"action": "search_products",
"query": "example_query",
"location_id": "example_location_id"
}
}'import requests
import json
url = "https://api.agentpmt.com/products/purchase"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
}
data = {
"product_id": "699544248a76bb5318ba60b7",
"parameters": {
"action": "search_products",
"query": "example_query",
"location_id": "example_location_id"
}
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code)
print(response.json())const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
product_id: "699544248a76bb5318ba60b7",
parameters: {
"action": "search_products",
"query": "example_query",
"location_id": "example_location_id"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error("Error:", error));const axios = require('axios');
const url = "https://api.agentpmt.com/products/purchase";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer ********"
};
const data = {
product_id: "699544248a76bb5318ba60b7",
parameters: {
"action": "search_products",
"query": "example_query",
"location_id": "example_location_id"
}
};
axios.post(url, data, { headers })
.then(response => {
console.log(response.status);
console.log(response.data);
})
.catch(error => {
console.error("Error:", error.message);
});Login to view your API and budget keys. The example above uses placeholder values. Sign in to see personalized code with your bearer token.
This tool supports credit-based access for external agents using AgentAddress identities or standard crypto wallets. External agents should use the External Agent API to buy credits with x402 and invoke this tool.
1. Buy Credits
Purchase credits via x402 payment (500 credit minimum, 100 credits = $1).
# Request payment requirements (returns 402 + PAYMENT-REQUIRED header)
curl -i -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'
# Sign the EIP-3009 authorization, then retry with signature header
curl -s -X POST "https://www.agentpmt.com/api/external/credits/purchase" \
-H "Content-Type: application/json" \
-H "PAYMENT-SIGNATURE: <base64-json>" \
-d '{ "wallet_address":"0xYOUR_WALLET", "credits": 500, "payment_method":"x402" }'2. Create a Session Nonce (nonce used in signed balance/invoke)
curl -s -X POST "https://www.agentpmt.com/api/external/auth/session" \
-H "Content-Type: application/json" \
-d '{ "wallet_address":"0xYOUR_WALLET" }'3. Invoke This Tool
Sign the message with your wallet (EIP-191 personal-sign), then POST to the invoke endpoint.
# Sign this message (wallet MUST be lowercased):
# agentpmt-external
# wallet:0xyourwallet...
# session:<session_nonce>
# request:<request_id>
# action:invoke
# product:699544248a76bb5318ba60b7
# payload:<sha256(canonical_json(parameters))>
curl -s -X POST "https://www.agentpmt.com/api/external/tools/699544248a76bb5318ba60b7/invoke" \
-H "Content-Type: application/json" \
-d '{
"wallet_address": "0xYOUR_WALLET",
"session_nonce": "<session_nonce>",
"request_id": "invoke-uuid",
"signature": "0x<signature>",
"parameters": {
"action": "your_action",
"your_param": "value"
}
}'Credentials
Manage credentials in your dashboard.
Actions(4)
search_products5cr15 params(2 required)Search the Kroger product catalog. You MUST call find_stores first to get a location_id. Supports batch search with pipe-separated queries, allergen filtering, nutrition filters, and SNAP eligibility.
search_products5cr15 params(2 required)Search the Kroger product catalog. You MUST call find_stores first to get a location_id. Supports batch search with pipe-separated queries, allergen filtering, nutrition filters, and SNAP eligibility.
queryrequiredstringProduct search term. For a single item: "chicken thighs". For multiple items, separate with | (pipe): "chicken thighs | olive oil | garlic". Max 25 items per batch.
location_idrequiredstringStore location ID from find_stores. REQUIRED for pricing and availability.
brandstringFilter by brand name
limitintegerResults per page (default 10, max 50)
startintegerPagination offset
allergen_freearrayFilter to products free from these allergens
max_caloriesnumberMax calories per serving
max_total_fat_gnumberMax total fat grams per serving
max_sugar_gnumberMax sugar grams per serving
max_sodium_mgnumberMax sodium mg per serving
max_cholesterol_mgnumberMax cholesterol mg per serving
max_carbohydrate_gnumberMax total carbohydrate grams per serving
min_protein_gnumberMin protein grams per serving
min_fiber_gnumberMin dietary fiber grams per serving
snap_eligible_onlybooleanOnly return SNAP/EBT eligible products
get_product_details5cr2 params(1 required)Get detailed product information including full nutrition, allergens, ratings, images, and aisle locations.
get_product_details5cr2 params(1 required)Get detailed product information including full nutrition, allergens, ratings, images, and aisle locations.
product_idrequiredstringKroger product ID
location_idstringStore location ID for local pricing and aisle info
find_stores5cr3 paramsFind nearby Kroger-family stores. User location (zip code) is injected automatically.
find_stores5cr3 paramsFind nearby Kroger-family stores. User location (zip code) is injected automatically.
radius_milesintegerSearch radius in miles (default 10)
limitintegerMaximum number of stores to return (default 10, max 50)
chainstringFilter by chain name (Kroger, Ralphs, Fred Meyer, King Soopers, Harris Teeter, etc.)
add_to_cart5cr1 param(1 required)Add items to the user's Kroger online cart. Requires user Kroger account connection.
add_to_cart5cr1 param(1 required)Add items to the user's Kroger online cart. Requires user Kroger account connection.
itemsrequiredarrayItems to add to cart
Usage Instructions
Usage guidance provided directly by the developer for this product.
Kroger Grocery
Search products, find stores, and add items to your cart across 2700+ Kroger-family stores including Kroger, Ralphs, Fred Meyer, King Soopers, Harris Teeter, and more.
Overview
This tool connects to the Kroger API to search their product catalog, find nearby stores, get detailed product information with nutrition and allergen data, and add items to a user's Kroger cart. It supports batch product searches (up to 25 items at once), dietary and allergen filtering, nutrition threshold filtering, and SNAP/EBT eligibility filtering. Products are filtered to only show items available both in-store and for delivery.
Actions
find_stores
Find nearby Kroger-family stores. The user's location (zip code) is injected automatically by the platform.
Required parameters: None (zip code is injected automatically)
Optional parameters:
radius_miles(integer, 1-100, default 10) -- search radius in mileslimit(integer, 1-50, default 10) -- maximum number of stores to returnchain(string) -- filter by chain name (e.g.Kroger,Ralphs,Fred Meyer,King Soopers,Harris Teeter)
Example -- find nearest stores:
{"action":"find_stores"}
Example -- find Ralphs stores within 25 miles:
{"action":"find_stores","chain":"Ralphs","radius_miles":25}
Returns: stores[] (with location_id, chain, name, phone, address {line1, city, state, zip_code}, latitude, longitude, open_24h, timezone, departments[]), total
search_products
Search the Kroger product catalog. You MUST call find_stores first to get a location_id, then pass it to every search. Without a location_id, products will have no pricing or availability and results will be empty.
Required parameters:
query(string) -- search term. For a single item:"chicken thighs". To search multiple items at once, separate with|(pipe):"chicken thighs | olive oil | garlic | spinach". Max 25 items per batch.location_id(string) -- store location ID fromfind_stores
Optional parameters:
brand(string) -- filter by brand namelimit(integer, 1-50, default 10) -- results per querystart(integer) -- pagination offsetallergen_free(array of strings) -- filter to products free from specified allergens. Values:gluten,wheat,dairy,milk,lactose,egg,peanut,tree_nut,soy,fish,shellfish,sesame,corn,mustard,celery,lupine,sulfitemax_calories(number) -- max calories per servingmax_total_fat_g(number) -- max total fat grams per servingmax_sugar_g(number) -- max sugar grams per servingmax_sodium_mg(number) -- max sodium mg per servingmax_cholesterol_mg(number) -- max cholesterol mg per servingmax_carbohydrate_g(number) -- max total carbohydrate grams per servingmin_protein_g(number) -- min protein grams per servingmin_fiber_g(number) -- min dietary fiber grams per servingsnap_eligible_only(boolean) -- only return SNAP/EBT eligible products
Example -- basic search:
{"action":"search_products","query":"organic milk","location_id":"01400441"}
Example -- batch search for multiple items:
{"action":"search_products","query":"chicken thighs | olive oil | garlic | spinach","location_id":"01400441"}
Example -- filtered search (gluten-free, low calorie):
{"action":"search_products","query":"crackers","location_id":"01400441","allergen_free":["gluten"],"max_calories":150}
Example -- high protein, low sugar:
{"action":"search_products","query":"protein bars","location_id":"01400441","min_protein_g":15,"max_sugar_g":5}
Example -- SNAP eligible only:
{"action":"search_products","query":"fresh bananas","location_id":"01400441","snap_eligible_only":true,"limit":5}
Search tips for fresh produce: Use specific terms like "fresh zucchini", "fresh limes", "fresh avocado" rather than generic single words. Generic terms like "lime" may return unrelated products (e.g. "Lemon Lime" soda).
Single-query response: query, products[], total, limit, optional filter_summary
Batch response: batch (true), queries_submitted, results[] (each with query, products[], total), limit_per_query
Each product includes: product_id, upc, brand, description, categories[], country_origin, snap_eligible, organic, non_gmo, image_url, price_regular, price_promo, size, fulfillment {delivery, pickup, in_store, ship}, and optionally nutrition_summary {serving_size, calories, protein_g, total_carbohydrate_g, total_fat_g, sugar_g, dietary_fiber_g}
When filters are active, a filter_summary is included with products_scanned, products_excluded, and products_returned counts.
get_product_details
Get detailed information for a specific product including full nutrition, allergens, ratings, images, and aisle locations.
Required parameters:
product_id(string) -- Kroger product ID
Optional parameters:
location_id(string) -- include for local pricing, availability, and aisle information
Example:
{"action":"get_product_details","product_id":"0011110838001","location_id":"01400441"}
Returns: product with product_id, upc, brand, description, categories[], country_origin, snap_eligible, organic, non_gmo, temperature, allergens[] (with name and level), allergens_description, ratings {average_rating, total_reviews}, item_information {depth, height, width, gross_weight, net_weight, average_weight}, images[] (with perspective, size, url), items[] (with item_id, size, sold_by, price_regular, price_promo, fulfillment), aisle_locations[], nutrition {ingredient_statement, serving_size, nutritional_rating, nutrients[] (with name, quantity, unit, percent_daily_value)}
If the product is not available for both in-store and delivery at the selected location, an availability_warning is included.
add_to_cart
Add items to the user's Kroger online cart. Requires the user to have a connected Kroger account.
Required parameters:
items(array of objects) -- items to add, each with:upc(string, required) -- product UPC code from search or product detail resultsquantity(integer, required, minimum 1) -- quantity to addmodality(string, optional) --PICKUPorDELIVERY(defaults to user's Kroger account preference)
Example:
{"action":"add_to_cart","items":[{"upc":"0011110838001","quantity":2},{"upc":"0001111042010","quantity":1}]}
Example -- specify fulfillment method:
{"action":"add_to_cart","items":[{"upc":"0011110838001","quantity":1,"modality":"PICKUP"}]}
Returns: success (boolean), items_added (count), items[]
Workflows
Grocery Shopping Workflow
- Always start with
find_storesto get alocation_id(user location is detected automatically) search_productswithquery+location_id-- location_id is required for every search- Optionally use
get_product_detailsfor full info on specific products (nutrition, allergens, aisle location) add_to_cartwith UPCs and quantities (requires user Kroger account connection)
Dietary-Restricted Shopping
find_storesto get alocation_idsearch_productswith allergen and/or nutrition filters (e.g.allergen_free: ["gluten", "dairy"],max_calories: 200)- Review
filter_summaryto see how many products were scanned vs. excluded get_product_detailsto verify allergen labels and full ingredient statementsadd_to_cartwith confirmed products
Meal Prep Batch Search
find_storesto get alocation_idsearch_productswith pipe-separated ingredients:"chicken breast | brown rice | broccoli | olive oil | garlic"- Results are grouped by query with concurrent API calls for faster results
add_to_cartwith selected items from each result group
Notes
- Only products available for both in-store shopping and delivery are returned in search results
- Allergen filtering uses Kroger's allergen labels with an ingredient-statement fallback for products that lack allergen declarations
- Fresh whole foods (produce, raw meat, seafood) without allergen labels are allowed through the filter unless the product itself IS the allergen (e.g. fresh walnuts filtered for tree nuts)
- Nutrition filtering excludes products that lack the relevant nutrient data (to be safe)
- Batch searches run with limited concurrency (2 concurrent queries) with automatic retry on API errors
- The
queryparameter accepts both a plain string and a pipe-delimited multi-query string; both formats are supported add_to_cartrequires the user to have connected their Kroger account through the platform
About The Developer

Apoth3osis
Joined Agent Payment: August 14, 2025
We build tools that enable AI agents to excel in the mathematical realm.
Our small team develops experimental and unique solutions in the AI arena, with a strong focus on modular computing for agentic applications and custom model deployment. We have handled projects for a variety of applications across many sectors, from algorithmic trading and financial analysis, to molecular simulations and predictions, to habitat and biodiversity monitoring and wildlife conservation.







