Skip to content

fulviofreitas/eero-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

91 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🐍 Eero API

Your async Python toolkit for Eero mesh networks

Python 3.12+ PyPI License


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
    }
}

See MIGRATION.md for details on the raw response architecture.

πŸ“š Docs

Guide What's inside
πŸ“– Python API Full API reference
βš™οΈ Configuration Auth & settings
πŸ”§ Troubleshooting Common fixes
πŸ”„ Migration Guide v1.x β†’ v2.0 migration
🏠 Wiki Home All documentation

πŸ”— Ecosystem

Project Description
πŸ–₯️ eero-cli 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