skillfed

pytile

A simple Python API for Tile® Bluetooth trackers

pytile v2024.12.0 73.6K downloads/30d#14,976 on PyPI223
Permissive license MIT Active released

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

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

pytile on PyPI

pip

pip install pytile

uv

uv add pytile

poetry

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 the current Python release (<4.0,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 3 — aiohttp, certifi, yarl
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)

Evidence: pytile-2024.12.0-py3-none-any.whl

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

Tags

tile tracker api pythonbluetooth tracker locationtile device informationtile api clienttrack tile devicestile gps coordinatestile tracker status
async-httpiot-trackingreverse-engineered-api

More Internet packages

botocore

Botocore provides low-level, data-driven access…

permissive · top 100 on PyPI

aiobotocore

Provides an async client for AWS services using…

permissive · top 100 on PyPI

pydantic

Pydantic validates Python data structures…

permissive · top 100 on PyPI

filelock

Provides a platform-independent file locking…

permissive · top 100 on PyPI

fastapi

FastAPI is a Python web framework for building…

permissive · top 100 on PyPI

googleapis-common-protos

Provides common Protocol Buffer message…

permissive · top 100 on PyPI

aiotractive

Asynchronous Python client for the Tractive pet…

permissive · top 15,000 on PyPI

pyGeoTile

Converts between geographic coordinate systems…

permissive · top 15,000 on PyPI

contextily

Contextily retrieves tile-based map imagery…

permissive · top 15,000 on PyPI

mygeotab

MyGeotab is a Python client library for the…

permissive · top 15,000 on PyPI

winrt-Windows.Devices.Bluetooth

Provides Python bindings to Windows Runtime…

permissive · top 15,000 on PyPI

winrt-Windows.Devices.Bluetooth.Advertisement

Provides Python bindings to access Windows…

permissive · top 15,000 on PyPI

gios

Fetches real-time air quality measurements from…

permissive · top 15,000 on PyPI

winrt-Windows.Devices.Bluetooth.GenericAttributeProfile

Provides Python bindings to access Windows…

permissive · top 15,000 on PyPI

xyzservices

Provides a Python API and JSON database of XYZ…

permissive · top 5,000 on PyPI

pmtiles

Read and write PMTiles archives, a single-file…

permissive · top 15,000 on PyPI