AnyList for Home Assistant - shopping lists, recipes and categories

Hi everyone,

I’ve published a new custom integration for AnyList:

GitHub: GitHub - moryoav/ha-anylist: Home Assistant custom integration for AnyList shopping lists and meal planning · GitHub
Latest release: Release v0.4.3 · moryoav/ha-anylist · GitHub

It exposes selected AnyList shopping lists in Home Assistant as standard todo entities, so they work with the normal Home Assistant todo UI, dashboard cards, automations, scripts, and services.

The big use case for me is shopping lists. This now makes it possible, not exactly trivial but working, to build a 3-way shopping list setup between:

  • Alexa shopping list
  • AnyList
  • Home Assistant dashboard card

I previously wrote about my Alexa/Home Assistant shopping-list setup here:

With this AnyList integration, the Home Assistant side can now talk to AnyList directly through todo entities instead of treating a local text file as the main source of truth.

A recent improvement: when you add known grocery items from Home Assistant, the integration now sends AnyList category metadata too. So if AnyList knows that milk belongs in Dairy, adding milk from Home Assistant should land it in the Dairy category in AnyList instead of being added as an uncategorized item.

Features include:

  • AnyList shopping lists as Home Assistant todo entities
  • View, add, check/uncheck, and remove shopping-list items
  • Automatic AnyList category reuse for known items added from Home Assistant
  • Optional meal plan iCalendar URL sensor for Home Assistant’s iCal integration
  • Recipe actions for automations/Node-RED:
    • search recipes
    • fetch a recipe
    • create/update/delete recipes
    • add recipe ingredients to a shopping list
    • optionally scale ingredient quantities
  • A refresh service
  • List content signature attributes, useful for automations that need to detect actual list changes

Credit where it’s due: this started from the earlier work by ozonejunkieau/ha-anylist:

That project established the useful idea of exposing AnyList lists as Home Assistant todo entities. This version is now largely/completely rewritten internally. The original integration depended on pyanylist, which itself used a Rust package underneath. That made installation and platform compatibility more fragile, especially in Home Assistant environments.

This integration instead includes a local pure-Python AnyList client and talks to AnyList directly. There is no external AnyList client package and no Rust extension requirement.

Other differences from the original include:

  • direct local client implementation rather than the third-party pyanylist dependency
  • cloud polling with immediate refresh after local changes, instead of relying on websocket sync
  • recipe services exposed to Home Assistant
  • category-aware item creation
  • reauth/reconfigure support for credentials
  • diagnostics with sensitive values redacted
  • bulk delete support for todo items
  • cleaner Home Assistant config-entry/options handling

This is still unofficial, and AnyList does not publish a public API, so use it accordingly. But it is working well enough for my own shopping-list flow, especially with Alexa + AnyList + Home Assistant all in the loop.

Not trying to trample on your success and work with this integration, as I'm sure there will be people who will use this cause they use AnyList; but as far as the Alexa Shopping list is concerned, there's a PR on July's core beta milestone release that has Alexa todo lists being added to the core Alexa Device's integration which will bring the lists natively into HA.

The integration is not related to Alexa at all, it only handles the Anylist side of things. If Alexa Shopping List integration will be made easier then great, it still won't solve the problem of syncing with Anylist, which is the purpose of this integration

Indeed. Which is why I prefaced my comment the way I did due to your promotion of Alexa Shopping List capability in the OP. Good work!

HA newbie here. Would this work with Google Assistant as well? I'm looking for a solution that will allow me add to Anylist through my Google hub (as it did before Google deprecated all 3rd party integrations).

This will allow you to sync anylist with home assistant. You then need another solution to sync Google with home assistant. Once you find a solution for the second thing you'll have full sync between Google and anylist. This integration only handles the connection with Anylist, not anything else, so you still need to find the second piece of the puzzle to fully do what you want, sorry I can't help further, I'm an Alexa user myself.

Small update here, and @mmstano’s comment above turned out to be the important missing piece.

As of Home Assistant 2026.7, the core Alexa Devices integration now exposes Alexa shopping/to-do lists as Home Assistant todo entities. That changes the setup quite a bit: for the Alexa shopping list use case, I no longer need the old Node-RED/Alexa Remote flow just to get the Alexa list into Home Assistant.

So the cleaner setup is now:

  • Alexa Devices integration = todo.alexa_shopping_list
  • AnyList integration = todo.anylist_shopping_list
  • One Home Assistant automation = sync the two todo entities both ways

The AnyList integration still matters, because the Alexa Devices integration only solves the Alexa-to-Home-Assistant side. It does not sync Alexa with AnyList by itself.

The automation treats whichever side changed as the source of truth, compares both lists using todo.get_items, then adds/removes/updates only the differences on the destination side. I also refresh AnyList before Alexa-source comparisons, because otherwise stale AnyList data can make the sync act on old state.

This effectively replaces the Node-RED part of my older Alexa shopping-list setup for anyone whose goal is simply:

Alexa shopping list ↔ Home Assistant ↔ AnyList

A few caveats:

  • The AnyList integration is still unofficial because AnyList does not publish a public API.
  • For Google Assistant, my earlier answer is still basically the same: this integration handles AnyList ↔ Home Assistant. You still need a separate way to get Google’s list into Home Assistant as a usable entity.

I’ll probably write this up properly, but the short version is: the new Alexa Devices todo support makes the whole setup much simpler.

1 Like

I wrote up the updated version here:

The main new part is not only the sync automation itself, but that the AnyList integration now exposes the shopping list grouped by AnyList categories/aisles.

So the dashboard card no longer needs the old Node-RED text-file format to know which aisle/category each item belongs to. It reads the new items_by_category attribute directly from the AnyList todo entity and renders the list grouped by aisle.

That is new functionality in the AnyList integration, and it makes the dashboard side much cleaner: AnyList remains the place that knows the item categories, Home Assistant reads that structured data, and the card can display the shopping list in aisle groups without a separate categorization layer.

The article includes the full two-way sync automation, the optional startup refresh automation, and the updated dashboard card that uses this new AnyList category/aisle data.