malmeloo/FindMy.py

🍏 + 🎯 + 🐍 = Query Apple's FindMy Network with Python!

Python

3,291

526 commits

updated Sep 15, 2026

See the code

README

FindMy.py Logo

FindMy.py

Query Apple's FindMy network with Python!

Docs | Examples | PyPI | Discord

🚀 Overview

The current "Find My-scene" is quite fragmented, with code being all over the place across multiple repositories, written by several authors. This makes it hard to integrate FindMy functionality with your project. FindMy.py aims to make it easy for you to query the location of your AirTags, iDevices and DIY tags with an easy to use Python library.

🧪 Features

  • Cross-platform: no Mac needed
  • Fetch and decrypt location reports
    • Official accessories (AirTags, iDevices, etc.)
    • Custom AirTags (OpenHaystack)
  • Apple account sign-in
    • SMS 2FA support
    • Trusted Device 2FA support
  • Scan for nearby FindMy-devices
    • Decode their info, such as public keys and status bytes
  • Import or create your own accessory keys
  • Both async and sync APIs

📥 Installation

The package can be installed from PyPi:

pip install findmy

For usage examples, see the examples directory. We are also building out a CLI. Try python -m findmy to see the current state of it. Documentation can be found here.

🤝 Contributing

Want to contribute code? That's great! For new features, please open an issue first so we can discuss.

This project uses Ruff for linting and formatting. Before opening a pull request, please ensure that your code adheres to these rules. There are pre-commit hooks included to help you with this, which you can set up as follows:

pip install uv
uv sync  # this installs ruff & pre-commit into your environment
pre-commit install

After following the above steps, your code will be linted and formatted automatically before committing it.

🧠 Derivative projects

There are several other cool projects in the FindMy space! You can check them out here.

🏅 Credits

While I designed the library, the vast majority of actual functionality is made possible by the following wonderful people and organizations:

airtag
apple
bluetooth
find-my
findmy
location-tracker
offline-finding

malmeloo/FindMy.py

🍏 + 🎯 + 🐍 = Query Apple's FindMy Network with Python!

Python

3,291

526 commits

updated Sep 15, 2026

See the code

README

FindMy.py Logo

FindMy.py

Query Apple's FindMy network with Python!

Docs | Examples | PyPI | Discord

🚀 Overview

The current "Find My-scene" is quite fragmented, with code being all over the place across multiple repositories, written by several authors. This makes it hard to integrate FindMy functionality with your project. FindMy.py aims to make it easy for you to query the location of your AirTags, iDevices and DIY tags with an easy to use Python library.

🧪 Features

  • Cross-platform: no Mac needed
  • Fetch and decrypt location reports
    • Official accessories (AirTags, iDevices, etc.)
    • Custom AirTags (OpenHaystack)
  • Apple account sign-in
    • SMS 2FA support
    • Trusted Device 2FA support
  • Scan for nearby FindMy-devices
    • Decode their info, such as public keys and status bytes
  • Import or create your own accessory keys
  • Both async and sync APIs

📥 Installation

The package can be installed from PyPi:

pip install findmy

For usage examples, see the examples directory. We are also building out a CLI. Try python -m findmy to see the current state of it. Documentation can be found here.

🤝 Contributing

Want to contribute code? That's great! For new features, please open an issue first so we can discuss.

This project uses Ruff for linting and formatting. Before opening a pull request, please ensure that your code adheres to these rules. There are pre-commit hooks included to help you with this, which you can set up as follows:

pip install uv
uv sync  # this installs ruff & pre-commit into your environment
pre-commit install

After following the above steps, your code will be linted and formatted automatically before committing it.

🧠 Derivative projects

There are several other cool projects in the FindMy space! You can check them out here.

🏅 Credits

While I designed the library, the vast majority of actual functionality is made possible by the following wonderful people and organizations:

airtag
apple
bluetooth
find-my
findmy
location-tracker
offline-finding

Significant stargazers

(top 24 of 55)

Fabian Meumertzheim

196 followers · starred Dec 2024

Seth Larson

944 followers · starred Dec 2024

Kenneth Reitz

30,138 followers · starred Dec 2024

Joshua Carp

325 followers · starred Dec 2024