--- id: pytile version: "2024.12.0" license: MIT license_treatment: permissive maintenance: active --- # pytile — A simple Python API for Tile® Bluetooth trackers License: permissive · Maintenance: active · Downloads: 73.6K/mo ## What it is and what it does pytile is an async Python client for the unofficial Tile Bluetooth tracker API. It lets you query your Tile devices from code—fetching current location, device status (active/lost/dead), firmware versions, and other metadata. The library wraps aiohttp for async HTTP calls and handles authentication against Tile's cloud service. The package is built on an undocumented, reverse-engineered API, so it carries inherent risk: Tile could change or block it at any time. It supports Python 3.10–3.13 and exposes a simple async interface: log in with credentials, fetch your tiles, and call methods like `async_get_tiles()`, `async_update()`, or `async_history()` (Premium only) to retrieve data. No compiled dependencies or system libraries required. Use it for: - Build a home automation dashboard that displays real-time locations of all your Tile trackers. - Monitor whether specific Tiles are marked lost or inactive and trigger alerts. - Export historical location data for a Tile device over a date range (Premium accounts only). - Integrate Tile tracking into a personal asset-tracking application or bot. - Periodically refresh Tile status in a background service to keep location data current. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Retrieves information from Tile® Bluetooth trackers via an unofficial API, including current location, device status, and historical position data for Premium accounts. Yes, if you own Tile devices and need programmatic access to their data. Install friction is low, maintenance is active, and the MIT license is permissive. However, be aware that this library depends on an unofficial API that Tile does not publish or guarantee—it may break without notice. Test thoroughly before relying on it in production. ## Install pip install pytile uv add pytile poetry add pytile ## Installing pytile Before you install: Low friction install with three lightweight async dependencies. Active maintenance as of August 2026 with recent commits; repo has 223 stars and no archived status. License in practice: MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects. Quickstart: pip install pytile import asyncio from aiohttp import ClientSession from pytile import async_login async def main(): async with ClientSession() as session: api = await async_login(email, password, session) tiles = await api.async_get_tiles() for tile_uuid, tile in tiles.items(): print(f"{tile.name}: {tile.latitude}, {tile.longitude}") asyncio.run(main()) Requires Python 3.10 or later; Tile account credentials needed for API authentication. Verify before relying: - Whether the unofficial Tile API remains stable or has breaking changes since the last release (595 days ago). - Current rate limits or throttling behavior of the Tile cloud API that users should account for. - Whether Premium features (history retrieval) remain available or have been restricted by Tile. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 73.6K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags tile tracker api python, bluetooth tracker location, tile device information, tile api client, track tile devices, tile gps coordinates, tile tracker status, async-http, iot-tracking, reverse-engineered-api [View on SkillFed](https://skillfed.io/packages/pytile) · [View on PyPI](https://pypi.org/project/pytile/)