browser-history
browser-history is a simple, zero-dependencies, developer-friendly python
package to retrieve (almost) any browser's history on (almost) any platform.
Features
- Supports most popular browsers. See this for a full list.
- Supports all major platforms - Windows, Mac and Linux.
- A command-line tool: simply run
browser-history --helpfrom your terminal. - History: browsing history with exact timestamp and URL.
- Bookmarks: browser bookmarks with timestamp, URL, title and folder.
- Lightweight: the entire package is less than 20kB in size and has no dependencies other than python 3.8+.
- Developer friendly: you can add support for new browsers or add a new feature very easily.
- Default browser: can automatically determine the default browser on Windows and Linux (
browser-history -b default). - Fully open source: this project is developed and maintained by the
browser-historyorganization (previously maintained by PESOS) and will always be open source (with the Apache 2.0 License).
Quick Start
Installation
To install the latest release:
pip install browser-history
To install from the master branch (warning: development version. Things could break)
pip install git+https://github.com/browser-history/browser-history.git
Usage
History
To get history from all installed browsers:
from browser_history import get_history
outputs = get_history()
# his is a list of (datetime.datetime, url) tuples
his = outputs.histories
If you want history from a specific browser:
from browser_history.browsers import Firefox
f = Firefox()
outputs = f.fetch_history()
# his is a list of (datetime.datetime, url) tuples
his = outputs.histories
Firefoxin the above snippet can be replaced with any of the supported browsers.
Bookmarks
WARNING: Experimental feature. Although this has been confirmed to work on multiple (Firefox and Chromium based) browsers on all platforms, it is not covered by tests and has not been used as much as the history feature.
To get bookmarks from all installed browsers:
from browser_history import get_bookmarks
outputs = get_bookmarks()
# bms is a list of (datetime.datetime, url, title, folder) tuples
bms = outputs.bookmarks
To get bookmarks from a specific browser:
from browser_history.browsers import Firefox
f = Firefox()
outputs = f.fetch_bookmarks()
# bms is a list of (datetime.datetime, url, title, folder) tuples
bms = outputs.bookmarks
Check out the documentation for more details.
Supported Browsers
Read the documentation
Credits
Logo designed with :heart: by XA.
License
Licensed under the Apache License, Version 2.0 (the "License")
Metadata
Release files for browser-history 0.5.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| browser_history-0.5.0.tar.gz | 22.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| browser_history-0.5.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 44.7 kB
Release files / browser_history-0.5.0.tar.gz
| Download URL | browser_history-0.5.0.tar.gz |
|---|---|
| Size | 22.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
969a0e571ac0a01347c78c3e0d96d4e0dbad6c64e1926279171e54caa8bba3c1
|
|
BLAKE2b-256 checksum How to use checksums |
c6b68856ca0cc0331d19e9e28d37f53a272eac82a74035de439f14d9334b3866
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 28, 2025.
Transparency logRelease files / browser_history-0.5.0-py3-none-any.whl
| Download URL | browser_history-0.5.0-py3-none-any.whl |
|---|---|
| Size | 22.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
77560ebc4c40ecad956e8201eba44a1dd5ad866e618a1ad88f30fcfef315cae3
|
|
BLAKE2b-256 checksum How to use checksums |
ff1dff5896cbec74572a8e0024a40b0ce624fa443a5754d5efad129c983cf411
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Dec 28, 2025.
Transparency log