Discover/coop API
live

coop APIcoop.it

Access CoopShop.it product catalog via API: categories, search, product details, offers, and recommendations for Italy's Coop grocery store.

Endpoint health
verified 10h ago
get_suggested_products
get_products_by_category
get_categories
get_subcategories
search_products
6/7 passing latest checkself-healing
Endpoints
7
Updated
11d ago

What is the coop API?

The coop.it API covers 7 endpoints that expose the full CoopShop.it Italian grocery catalog, from hierarchical category browsing to keyword search and detailed product pages. The get_product_details endpoint returns nutritional information, allergens, and ingredient lists by product slug, while get_offers surfaces active promotions or newly added items depending on current availability.

Try it
Warehouse ID to scope categories.
api.parse.bot/scraper/887773c5-cd58-4639-8d2e-34a6cb94ee41/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/887773c5-cd58-4639-8d2e-34a6cb94ee41/get_categories?warehouse_id=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace coop-it-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: CoopShop SDK — browse categories, search products, get details."""
from parse_apis.CoopShop_API import CoopShop, ProductSort, ProductNotFound

coop = CoopShop()

# Search for pasta products
for product in coop.product_summaries.search(query="pasta", limit=5):
    print(product.name, product.vendor.name, product.media_url)

# Drill into the first search result for full details
item = coop.product_summaries.search(query="latte", limit=1).first()
if item:
    detail = item.details()
    print(detail.name, detail.slug, detail.vendor.name)

# List top-level categories
for cat in coop.categories.list(limit=3):
    print(cat.name, cat.slug, cat.category_id)

# Fetch a specific category and browse products sorted by price
category = coop.categories.get(category_slug="condimenti-conserve-e-scatolame")
for p in category.products(sort=ProductSort.PRICE_ASC, limit=3):
    print(p.name, p.description, p.vendor.name)

# Get suggestions for a product
detail = coop.products.get(product_slug="cavatelli-secchi-coop-ff500g")
for suggestion in detail.suggestions(limit=3):
    print(suggestion.name, suggestion.slug)

# Typed error handling
try:
    coop.products.get(product_slug="nonexistent-product-slug-xyz")
except ProductNotFound as exc:
    print(f"Product not found: {exc.product_slug}")

print("exercised: search / details / categories.list / categories.get / products / suggestions / error handling")
All endpoints · 7 totalmissing one? ·

Returns the full hierarchy of product categories from the CoopShop catalog, including up to 3 levels of nesting. Each category includes its ID, name, slug, URL, and nested subcategories.

Input
ParamTypeDescription
warehouse_idstringWarehouse ID to scope categories.
Response
{
  "type": "object",
  "fields": {
    "categories": "array of category objects, each containing categoryId, name, slug, itemUrl, description, metaData, and nested categories array"
  },
  "sample": {
    "data": {
      "categories": [
        {
          "name": "Protezioni solari",
          "slug": "protezioni-solari",
          "itemUrl": "/protezioni-solari",
          "categories": [
            {
              "name": "Viso",
              "slug": "protezioni solari/viso",
              "itemUrl": "/protezioni solari/viso",
              "parentId": 42754,
              "categoryId": 42755
            }
          ],
          "categoryId": 42754
        }
      ]
    },
    "status": "success"
  }
}

About the coop API

Category and Product Browsing

get_categories returns the complete CoopShop catalog hierarchy with up to 3 levels of nesting. Each category object includes categoryId, name, slug, itemUrl, description, and metaData, plus a nested categories array for child nodes. Once you have a slug, get_subcategories resolves it to the full category object along with its direct children — useful for building navigation trees or scoping searches to a specific section of the store. Both endpoints accept an optional warehouse_id parameter to restrict results to a particular fulfillment location.

Search and Category-Level Product Listings

get_products_by_category and search_products return paginated product arrays. Category-level listings accept category_id, page, page_size, sort (values: price_asc, price_des, name_asc, name_des), and a boolean promo flag to filter promotional items. Search takes a query string and supports the same pagination controls. Both endpoints return a page object with selPage, totPages, totItems, and itemsPerPage, plus a facets array for available filter dimensions and a products array with fields including productId, name, slug, vendor, mediaURL.

Product Details, Offers, and Recommendations

get_product_details accepts a product_slug and returns the richest response in the API: metaData contains nested product_description (ingredients, allergens, nutritional info) and product_info, alongside vendor, mediaURL, description (weight/quantity), and productId. get_offers returns promotional or newly-added products depending on what is currently active, and exposes an offer_type field ('promo' or 'new_product') so callers can distinguish between the two cases. get_suggested_products accepts a product_id and an optional limit parameter, returning an array of related product objects with the same core fields as search results.

Reliability & maintenanceVerified

The coop API is a managed, monitored endpoint for coop.it — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when coop.it changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official coop.it API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
10h ago
Latest check
6/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price-monitoring tool by polling get_products_by_category with sort=price_asc across category IDs.
  • Populate a dietary-filter app using allergen and ingredient data from get_product_details metaData.
  • Track active promotions at CoopShop.it by periodically calling get_offers and checking the offer_type field.
  • Implement a product recommendation widget using get_suggested_products with a known product_id.
  • Sync a local grocery database by paginating through get_products_by_category with page_size and page parameters.
  • Index the full category tree for a store locator or navigation UI using get_categories and get_subcategories.
  • Run keyword-based product discovery by passing search terms to search_products and filtering results by facets.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does CoopShop.it have an official developer API?+
Coop Italy does not publish a public developer API or API documentation for CoopShop.it. This Parse API provides structured access to the same product data available on the site.
What does get_offers return, and how does it decide between promos and new products?+
get_offers first checks whether promotional products are currently available. If promotions exist, it returns them and sets offer_type to 'promo'. If no active promotions are found, it falls back to newly added products and sets offer_type to 'new_product'. You can also pass a category_id to scope offers to a specific section of the catalog.
Does the API return pricing information for products?+
The product objects returned by search, category, and detail endpoints include standard catalog fields such as productId, name, slug, vendor, and mediaURL. Structured price fields (unit price, discounted price) are not currently exposed as distinct top-level response fields in this version of the API. You can fork it on Parse and revise it to surface pricing data if it becomes available in the underlying catalog responses.
How does the warehouse_id parameter affect results?+
warehouse_id is optional on every endpoint. It scopes the response to a specific CoopShop fulfillment warehouse, which can affect product availability and category listings. Omitting it returns catalog data without warehouse-level filtering.
Are user account features like shopping cart or order history accessible?+
No account-level features are covered. The API is scoped to catalog data: categories, product search, product details, offers, and recommendations. You can fork it on Parse and revise it to add any additional catalog or account-adjacent endpoints you need.
Page content last updated . Spec covers 7 endpoints from coop.it.
Related APIs in Food DiningSee all →
coop.ch API
Search and browse Coop.ch's entire product catalog, including detailed pricing, product information, and category organization. Find specific groceries, compare items across categories, and access up-to-date pricing data from Switzerland's Coop supermarket.
carrefour.it API
Search and browse Carrefour Italy's product catalog across categories, view detailed product information, find nearby store locations, and discover current promotions all in one place. Explore online grocery selections and compare products by price, brand, and availability.
spesaonline.conad.it API
Find nearby Conad supermarkets and view their current promotional flyers to discover product prices and discounts. Access detailed store information like location and hours to plan your shopping trips.
coles.com.au API
Search and browse Coles supermarket products by category, view detailed product information, and discover current specials all in one place. Find exactly what you're looking for with powerful search functionality and organized category navigation.
migros.ch API
Search and browse Migros' product catalog to find items by name or category, view detailed product information, and discover current promotional offers. Get everything you need to shop smarter at Switzerland's leading supermarket.
ocado.com API
Search and browse Ocado UK's grocery catalog, view detailed product information including nutritional data, and discover related items to add to your cart. Get instant search suggestions and manage your shopping cart contents all in one place.
euronics.it API
Browse and search the complete Euronics Italy product catalog with real-time pricing information across all categories. Find exactly what you're looking for with powerful keyword search or explore products by category with full pagination support.
compraonline.alcampo.es API
Search and browse Alcampo's online product catalog, view detailed product information, explore categories, check current promotions, and find nearby store locations across Spain. Access real-time data from Alcampo's online shopping platform to discover products, compare prices, and locate physical stores.