pytile
A simple Python API for Tile® Bluetooth trackers
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; Tile account credentials needed for API authentication.
- 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 · maintenance · safety
MIT (permissive) — MIT license permits free use, modification, and distribution with minimal restrictions, making it suitable for both personal and commercial projects.
last release 2024-12-27 (595 days) · last repo commit 2026-08-09 · 223 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 73,559 downloads/mo, #14,976 on PyPI
Alternatives
Verify before relying
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())- 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.
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 on this page. Verify before relying on it.
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
pytile on PyPI
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.
Requires Python 3.10 or later; Tile account credentials needed for API authentication.
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())
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 the current Python release <4.0,>=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 3 packagesaiohttpcertifiyarl |
| Maintenance | Actively maintained 595 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 73,559 / month, #14,976 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | License :: OSI Approved :: MIT LicenseProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: pytile-2024.12.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “tile tracker api python”
- pytileRetrieves information from Tile® Bluetooth trackers via an unofficial…
- xyzservicesProvides a Python API and JSON database of XYZ tile service providers…
- supermorecadoExtends morecantile with command-line and Python tools to burn…
Give your agent the search over MCP, or paste the wish link into any chat.
More Internet packages
Botocore provides low-level, data-driven access to Amazon Web Services APIs, serving as the foundation for the AWS CLI and boto3 libraries.
Install it if you need programmatic access to AWS services.
Provides an async client for AWS services using botocore and aiohttp, allowing you to call AWS APIs asynchronously within asyncio-based applications.
Install it if you need to call AWS services from async Python code; it is the standard way to do so.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides common Protocol Buffer message definitions used across Google Cloud APIs, enabling Python clients to interact with Google services.
See also aiotractive · pyGeoTile · contextily · mygeotab · winrt-Windows.Devices.Bluetooth · winrt-Windows.Devices.Bluetooth.Advertisement · gios · winrt-Windows.Devices.Bluetooth.GenericAttributeProfile · xyzservices · pmtiles