Discover/Aldi API
live

Aldi APIaldi.com.au

Search the Aldi Australia product catalogue via API. Returns product name, brand, price, was-price, size, image URL, and availability for any keyword.

This API takes change requests — .
Endpoint health
verified 2h ago
search_products
1/1 passing latest checkself-healing
Endpoints
1
Updated
2h ago

What is the Aldi API?

The Aldi Australia API exposes one endpoint — search_products — that queries the aldi.com.au grocery catalogue and returns up to 7 structured fields per product, including current price, discounted was-price, package size, and in-store availability. It supports keyword-based searches across all product categories stocked at Aldi Australia, with paginated results and a total count for building complete result sets.

This call costs1 credit / call— charged only on success
Try it
Page number for pagination (1-based). Omitting returns the first page.
Maximum number of products per page. Rounded up to the nearest accepted value from: 12, 16, 24, 30, 32, 48, 60.
Search keyword (e.g. 'milk', 'chocolate', 'bread').
api.parse.bot/scraper/a4061be8-d852-4e46-9ee1-064cedbd37d8/<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/a4061be8-d852-4e46-9ee1-064cedbd37d8/search_products?query=milk' \
  -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 aldi-com-au-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: Aldi Australia product search — bounded, re-runnable."""
from parse_apis.aldi_com_au_api import Aldi, InputFormatInvalid

client = Aldi()

# Search for chocolate products, cap total items fetched at 5.
for product in client.products.search(query="chocolate", limit=5):
    print(product.name, product.brand, product.price)

# Drill-down: find the first milk product and inspect its details.
milk_hit = client.products.search(query="milk", limit=1).first()
if milk_hit is not None:
    print(f"{milk_hit.name} ({milk_hit.brand}) — {milk_hit.price}")
    print(f"  Size: {milk_hit.size or 'N/A'}")
    print(f"  Available: {milk_hit.available}")
    print(f"  Image: {milk_hit.image_url}")
    if milk_hit.was_price is not None:
        print(f"  Was: {milk_hit.was_price}")

# Demonstrate error handling for malformed input.
try:
    client.products.search(query="", limit=1).first()
except InputFormatInvalid as e:
    print(f"Invalid input: {e.message}")

print("exercised: products.search")
All endpoints · 1 totalmissing one? ·

Search Aldi Australia products by keyword. Returns paginated results sorted by relevance. Each result includes product name, brand, current price, was price (if discounted), package size, image URL, and in-store availability. The upstream API accepts page sizes of 12, 16, 24, 30, 32, 48, or 60; the requested limit is rounded up to the nearest valid value.

Input
ParamTypeDescription
pageintegerPage number for pagination (1-based). Omitting returns the first page.
limitintegerMaximum number of products per page. Rounded up to the nearest accepted value from: 12, 16, 24, 30, 32, 48, 60.
queryrequiredstringSearch keyword (e.g. 'milk', 'chocolate', 'bread').
Response
{
  "type": "object",
  "fields": {
    "page": "current page number",
    "limit": "page size used for this request",
    "products": "array of product objects with name, brand, price, was_price, size, image_url, and available fields",
    "total_count": "total number of matching products across all pages"
  },
  "sample": {
    "data": {
      "page": 1,
      "limit": 30,
      "products": [
        {
          "name": "Light Milk 2L",
          "size": "2 L",
          "brand": "FARMDALE",
          "price": "$3.55",
          "available": true,
          "image_url": "https://dm.apac.cms.aldi.cx/is/image/aldiprodapac/product/jpg/scaleWidth/600/93645b60-eb11-4046-b28e-2b441f8585a4/farmdale-light-milk-2l",
          "was_price": null
        }
      ],
      "total_count": 83
    },
    "status": "success"
  }
}

About the Aldi API

What the API Returns

The search_products endpoint accepts a query string and returns an array of product objects. Each object includes name, brand, price, was_price (populated only when the product is on promotion), size, image_url, and available. The total_count field tells you how many products matched across all pages, which lets you calculate how many pages to fetch.

Pagination and Page Sizes

Results are paginated using a 1-based page parameter. The limit parameter controls how many products appear per page; accepted values are 12, 16, 24, 30, 32, 48, and 60. If you pass a value that doesn't match one of these, it is rounded up to the nearest accepted value. Omitting page returns the first page. Combining total_count with your chosen limit gives you the exact number of pages to iterate.

Discount Detection

The was_price field is the original price before a markdown. When a product is not discounted, this field is absent or null. Comparing price to was_price lets you identify promotional items programmatically — useful for price-tracking or savings-alert applications.

Coverage

The API covers grocery products listed in the Aldi Australia online catalogue, including Aldi's own house brands and named brands where they appear. Products available only in Special Buys (Aldi's rotating non-grocery range) are not guaranteed to appear, as their catalogue presence is time-limited.

Reliability & maintenanceVerified

The Aldi API is a managed, monitored endpoint for aldi.com.au — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aldi.com.au 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 aldi.com.au 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
2h ago
Latest check
1/1 endpoint 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
  • Track price changes on specific grocery items by comparing price and was_price over time
  • Build a promotional deal alert that surfaces products with a populated was_price field
  • Compare Aldi Australia pricing against other supermarkets using name, brand, and size
  • Check available status for a keyword before recommending a product in a shopping app
  • Populate a grocery list assistant with live product data including image_url for display
  • Analyse which product categories Aldi Australia carries for a given keyword query
  • Aggregate total_count results across multiple keywords to measure catalogue breadth
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Aldi Australia have an official developer API?+
No. Aldi Australia does not publish a public developer API or documented data feed for its product catalogue.
What does the `was_price` field actually represent?+
It holds the original pre-discount price for products currently on promotion. If a product is at its standard price, was_price is absent or null. You can filter for discounted items by checking whether was_price is present and differs from price.
Does the API cover Aldi's Special Buys range?+
Coverage focuses on the regular grocery catalogue. Special Buys are time-limited and may not appear consistently. You can fork this API on Parse and revise it to target the Special Buys section directly if that coverage matters for your use case.
Can I filter results by product category or brand rather than keyword?+
The current endpoint accepts only a free-text query string — there is no dedicated category or brand filter parameter. You can fork this API on Parse and revise it to add category-based or brand-filtered endpoints.
How fresh is the product and pricing data?+
Data reflects what is currently listed in the Aldi Australia online catalogue at the time of the request. Aldi updates its catalogue periodically, particularly around promotions and seasonal range changes, so prices and availability can shift between calls.
Page content last updated . Spec covers 1 endpoint from aldi.com.au.
Related APIs in Food DiningSee all →
aldi.be API
Access data from aldi.be.
aldi.de API
Browse current and upcoming Aldi Nord offers, search products, and discover deals organized by category or date. Access detailed product information, weekly flyers, and explore items across all available categories to find the best bargains.
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.
lidl.be API
Access data from lidl.be.
ahlens.se API
Search and browse products from Åhléns Swedish department store to get pricing, images, brands, and category information, with autocomplete suggestions to help you find what you're looking for. Access detailed product information and explore items across different categories in real-time.
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.
ah.nl API
Search Albert Heijn products, browse categories, view weekly bonus offers, and fetch detailed product information including nutrition and supplier contact details.
shop.rewe.de API
Search for grocery products across REWE's online catalog and instantly see current prices for your specific German postal code. Find the items you need with real-time pricing information to compare costs and plan your shopping efficiently.