Skip to main content
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:

Release files for FindMy 0.10.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for FindMy 0.10.2
File Size Uploaded
findmy-0.10.2.tar.gz 1.1 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for FindMy 0.10.2
File Interpreter ABI Platform
findmy-0.10.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.2 MB

Release files / findmy-0.10.2.tar.gz

Download URL findmy-0.10.2.tar.gz
Size 1.1 MB
Tags Source
SHA-256 checksum
How to use checksums
63c5e90cd1d7b45333b3dbb943a78d185dc7b989d6f56bd9cc159177bc0507fb
BLAKE2b-256 checksum
How to use checksums
e54352b93684ca82026662572d1a79c8cb1a8edab5c69d4b38f03bb982304b57
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / findmy-0.10.2-py3-none-any.whl

Download URL findmy-0.10.2-py3-none-any.whl
Size 55.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2b367c0d59db66905e7e93ba828144ce473499aba5bfa17e89844a3169ffdde6
BLAKE2b-256 checksum
How to use checksums
770401dafe63681eb275918d7d9f9a7559160e05193d799e9731380aab3bde2a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.10.2 This release

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page