Query Apple's FindMy network with Python
What Apple Find My Provides
- Tracks Apple devices (iPhone, iPad, Mac, Watch, AirPods, Vision Pro, Apple TV), AirTags, and third‑party “Works with Find My” accessories.
- Supports people tracking: share your live or temporary location with friends/family, see theirs in Find My and Messages.
- Sharing can be one‑time, time‑limited (hour/day), or indefinite, plus “Check In” that only sends data if you’re unexpectedly delayed.
- Among many younger users, always‑on sharing is described as socially expected, with relationship implications if you stop.
How the Find My Network Works
- Devices broadcast encrypted Bluetooth beacons; nearby Apple devices upload sightings (with their own location) to Apple.
- iPhones can remain “findable” even when powered off, though this can be disabled.
- Location reports are end‑to‑end encrypted; Apple is said not to see locations or stable tag identifiers, only the owner’s devices can decrypt using rotating keys.
- AirTags are associated with an Apple ID at setup, allowing law enforcement to link a recovered tag’s serial to an account, but serials are not used in the public beaconing.
Capabilities of FindMy.py
- Python client that talks directly to Apple’s Find My network APIs to fetch encrypted location reports and decrypt them if you have the right keys.
- Works for items/devices whose shared secrets you’ve extracted (e.g., from a Mac’s iCloud keychain), not for “Find My Friends.”
- Can retrieve up to seven days of historical pings in one call; frequent polling is unnecessary.
- Supports BLE‑based “nearby” detection, which matters because AirTags stop using the network when close to their owner’s device.
Cross‑Platform and Ecosystem Lock‑In
- Several commenters on Linux/Android complain that full Find My functionality is locked to Apple hardware; the iCloud web app is limited and omits AirTags.
- Some resort to remote‑desktop, Mac automation, or third‑party tools to access Find My from non‑Apple platforms.
- Others argue this lock‑in is intentional: Find My is a value‑add to keep people in the Apple ecosystem.
Privacy, Abuse, and Data Access
- Apple encrypted local Find My data more aggressively, breaking earlier DIY tools but reducing misuse risk.
- Debate over whether Apple could technically inspect Find My traffic despite claims of E2E design; some remain skeptical.
- Concern that any API (official or unofficial) can be used to build detailed movement histories of friends who share location.
Reliability and Apple’s Likely Response
- Many think changing the core protocol to block projects like this would be hard without breaking older devices or privacy guarantees.
- However, Apple can detect suspicious API usage, ban accounts, or send legal threats if someone builds privacy‑eroding services.
- The library’s author reports one Apple ID banned after very frequent polling, and advises modest query rates and disposable accounts.
Use Cases and Automation Ideas
- Proposed uses include: long‑term personal location logs, pet and vehicle tracking, mailbox/door sensors, and Home Assistant automations (e.g., geofenced actions when arriving home).
- Some lament that Apple exposes little official automation (Shortcuts, AppleScript, Screen Time control) for Find My, driving interest in unofficial APIs.