Where Is the Android Call Log Stored?
Android call history database needing root, and the no root routes through Recents and Google backup.
Last updated
Android call history lives in calllog.db inside the contacts provider private storage (/data/data/com.android.providers.contacts/databases), alongside contacts2.db, readable only with root or a forensic image. Samsung and other OEMs rename the provider package, so exact paths vary.
Without root, read through the Phone app Recents (or any dialer with call log permission) rather than files. Google Backup covers call history to your account with restore on setup; some Android 7 era devices split entries between calllog.db and contacts2.db, so parse both when tools look incomplete.
Where Android stores this, by platform
/data/data/com.android.providers.contacts/databases/calllog.db
AOSP calls table (root or image only, not browsable). OEM variant e.g. com.samsung.android.providers.contacts (may vary). Check contacts2.db too on older devices. No root route: Phone Recents plus Google Backup call history restore.
Frequently asked questions
How do I back up Android call history without root?
Settings, Google, Backup with call history included; it restores on new device setup. File level copies need root, so skip hunting calllog.db on stock phones.
My parser shows an empty call log but Recents has entries. Why?
Split storage: some builds file calls under contacts2.db instead of calllog.db (or vice versa). Point the tool at both databases in the provider folder.
Notice an outdated path? Let us know.