Skip to content

fulviofreitas/eero-api

Repository files navigation

🐍 Eero API

Your async Python toolkit for Eero mesh networks

Python 3.12+ PyPI License Ask DeepWiki


A modern, async-first Python SDK for the Eero mesh WiFi API.
Raw JSON responses, system keyring integration, and smart caching.

Get Started · Documentation · Ecosystem · License


⚡ Why Eero API?

  • 🚀 Async-first — Non-blocking, blazing fast
  • 🔐 Secure — System keyring for credentials
  • 📦 Raw JSON — Direct API responses, no transformations
  • Smart caching — Snappy responses

📦 Install

pip install eero-api
# or with uv
uv add eero-api

🚀 Quick Start

import asyncio
from eero import EeroClient

async def main():
    async with EeroClient() as client:
        if not client.is_authenticated:
            await client.login("you@example.com")
            await client.verify(input("Code: "))
        
        # All methods return raw JSON responses
        response = await client.get_networks()
        networks = response.get("data", {}).get("networks", [])
        
        for network in networks:
            print(f"📶 {network['name']}: {network.get('status')}")

asyncio.run(main())

💡 Credentials are auto-saved to your system keyring

📄 Raw Response Format

All API methods return the exact JSON from Eero's API:

{
    "meta": {"code": 200, "server_time": "..."},
    "data": {
        # Endpoint-specific payload
    }
}

📚 Docs

Guide What's inside
📖 Python API Full API reference
⚙️ Configuration Auth & settings
🔧 Troubleshooting Common fixes
🏠 Wiki Home All documentation

🔗 Ecosystem

Project Description
🖥️ eeroctl Terminal interface for Eero networks
🛜 eero-ui Svelte dashboard for network management
📊 eero-prometheus-exporter Prometheus metrics for monitoring

⚠️ Important Notes

Unofficial Project: This library uses reverse-engineered APIs and is not affiliated with or endorsed by Eero.

Amazon Login Limitation: If your Eero account uses Amazon for login, this library may not work directly due to API limitations. Workaround: Have someone in your household create a standard Eero account (with email/password) and invite them as an admin to your network. Then use those credentials to authenticate.

📄 License

MIT — Use it, fork it, build cool stuff 🎉


📊 Repository Metrics

Repository Metrics