bring-api
Unofficial package to access Bring! shopping lists API.
What it is and what it does
bring-api is an async Python client for the unofficial Bring! shopping lists API. It lets you programmatically create and manage shopping lists, add items with specifications, check off purchases, and remove items—all via async/await calls backed by aiohttp. The package wraps the non-legacy Bring! API endpoint and supports both simple item operations (save, complete, remove) and batch operations that allow you to add multiple items at once, handle duplicate item names with different specs, and work with item UUIDs before persisting them to a list.
The library is designed for integration into automation workflows, home-assistant setups, and custom shopping-list applications. It requires Python 3.11+, depends on aiohttp for HTTP transport and mashumaro/orjson for serialization, and is actively maintained. No known vulnerabilities are recorded. The codebase is small and straightforward, making it suitable for both simple scripts and embedded use in larger systems.
Use it for:
- Automate grocery list management in a home-assistant integration or smart-home workflow.
- Build a custom shopping-list app or CLI that syncs with Bring! without using the official mobile app.
- Batch-add recipe ingredients to a Bring! list programmatically from a meal-planning tool.
- Check off items from a shopping list via voice command or IoT trigger in an automation system.
- Sync shopping lists across multiple household members or systems by polling and updating via the API.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides async Python access to the Bring! shopping lists API, allowing you to manage shopping lists, add/remove items, and check off purchases programmatically.
Yes. The package is actively maintained, has low install friction, carries no known vulnerabilities, and uses a permissive MIT license. It fills a genuine need for programmatic Bring! list management. Install it if you want to automate shopping-list workflows or integrate Bring! into a larger system; the async design and batch-update support make it suitable for both simple scripts and production integrations.
Install
bring-api on PyPI
pip
pip install bring-apiuv
uv add bring-apipoetry
poetry add bring-apiInstalling bring-api
Before you install
Low install friction with a pure-Python wheel distribution. Actively maintained with recent commits and a small but stable dependency footprint (aiohttp, masjuni, orjson).
License in practice
MIT license permits commercial and private use with minimal restrictions—you may use, modify, and distribute this package freely provided you retain the license notice.
Quickstart
pip install bring-api
import aiohttp
import asyncio
from bring_api import Bring
async def main():
async with aiohttp.ClientSession() as session:
bring = Bring(session, "email@example.com", "password")
await bring.login()
lists = (await bring.load_lists())["lists"]
await bring.save_item(lists[0]['listUuid'], 'Milk')
asyncio.run(main())
Requires Python 3.11 or later and an active aiohttp event loop; cannot run multiple aiohttp sessions on the same thread.
Verify before relying
- Whether the package works with Bring! account credentials or requires additional authentication setup beyond email/password.
- Rate limiting or throttling behavior when making rapid API calls to add/remove/complete items.
- Offline fallback or caching behavior if the Bring! API becomes temporarily unavailable.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — aiohttp, mashumaro, orjson |
| Maintenance | actively maintained — 102 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 74,668/month — #14,805 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: bring_api-1.1.2-py3-none-any.whl
Tags
More WWW/HTTP packages
urllib3 is an HTTP client library that provides…
permissive · top 100 on PyPI
requestsRequests is a Python HTTP library that…
permissive · top 100 on PyPI
h11h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
httpxHTTPX is a fully featured HTTP client library…
permissive · top 100 on PyPI
httpcoreA minimal low-level HTTP client library that…
permissive · top 100 on PyPI
aiohttpaiohttp is an async HTTP client and server…
permissive · top 100 on PyPI
google-shopping-typeProvides Python type definitions and client…
permissive · top 15,000 on PyPI
ebaysdkProgrammatic interface to eBay's Finding,…
copyleft · top 15,000 on PyPI
google-shopping-merchant-productsPython client library for Google Shopping…
permissive · top 15,000 on PyPI
RtmAPIRtmAPI provides Python bindings to the Remember…
permissive · top 15,000 on PyPI
aioresponsesMocks HTTP requests made by aiohttp's…
permissive · top 5,000 on PyPI
google-apps-meetPython client library for the Google Meet API…
permissive · top 15,000 on PyPI
WooCommerceA Python wrapper for the WooCommerce REST API…
permissive · top 15,000 on PyPI
nest-asyncio2Patches asyncio to allow nested event loops,…
permissive · top 1,000 on PyPI
dtlpymetricsCalculates and generates quality scores for…
unclear · top 15,000 on PyPI
aiobotocoreProvides an async client for AWS services using…
permissive · top 100 on PyPI