AndroidFileHost Scraper
Simple and powerful Python script to look for keywords and download files from AndroidFileHost by imitating their API calls. Supports downloading from multiple pages, mirror selection and sorting pages.
Why?
AFH is slowly dying, which means a lot of ROMs, kernels and whatnot will be forever gone if we don't archive them elsewhere. This script makes everything a lot easier.
Installation
Get the requirements: pip install requests beautifulsoup4
And run the script.
You can also check the releases page to download precompiled executables for your platform if you don't want to install Python. Releases are created automatically using GitHub Actions and mostly untested, so please create an issue if you encounter a problem.
Lastly, you can install the PyPi distribution globally by running pip install AndroidFileHostScraper. You can then call it via either AndroidFileHostScraper or afhscraper in your terminal.
Usage
Interactive mode
Just run the tool, search for keywords, select your preferences and wait. The scraper will automatically go through the files and download them.
Downloads can be found within the root directory of the script.
CLI Mode
AFHScraper V2.0.0 and later can take positional arguements and run like a CLI tool.
options:
-h, --help show this help message and exit
-s, --search SEARCH Search terms (comma-separated)
--sort {newest,popular}
Sort order (newest or popular)
-n, --files FILES Maximum files to download per search term
-m, --mirror {usa,germany}
Preferred mirror location
-t, --threads THREADS
Number of concurrent downloads (default: 1)
-o, --output OUTPUT Download directory
-l, --log-level {DEBUG,INFO,WARNING,ERROR}
Logging level (default: INFO)
This can be used to automate downloads. It also lets the user to specify an output directory unlike the interactive mode.
For example, to download the first 20 most popular files each from "twrp" and "lineage" searches with 5 threads from a USA server with DEBUG level outputs:
python AFHscraper.py -s "twrp,lineage" --sort popular -n 20 -t 5 -m usa -l DEBUG
And so on.
Extras
Enjoy my work? Please consider a small donation!
Metadata
Release files for AndroidFileHostScraper 3.0.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 | Provenance | Actions |
|---|---|---|---|---|
| androidfilehostscraper-3.0.0.tar.gz | 10.7 kB | With provenance | Details for androidfilehostscraper-3.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| androidfilehostscraper-3.0.0-py3-none-any.whl | Python 3 | none | any | Details for androidfilehostscraper-3.0.0-py3-none-any.whl |
Total release size: 22.0 kB
Release files / androidfilehostscraper-3.0.0.tar.gz
| Download URL | androidfilehostscraper-3.0.0.tar.gz |
|---|---|
| Size | 10.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
75f6720d1595466b0b259a0f8f5749ce1a7723d85f79ec832ef85166cf8acb8c
|
|
BLAKE2b-256 checksum How to use checksums |
065e68bd81426974d0ca12bb37e4e6b433f9c1d73f8ee8882eaec45d526d15e7
|
| 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 Jan 31, 2026.
Transparency logRelease files / androidfilehostscraper-3.0.0-py3-none-any.whl
| Download URL | androidfilehostscraper-3.0.0-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e893d14b55b78eb9aa6c2181a1c9f91459ec7c3059fd1f2530b0a28c5774acec
|
|
BLAKE2b-256 checksum How to use checksums |
f4938ad51873ac3b93bc92ce00c3d90a7d976792ad31befe5f822992b9e74e3c
|
| 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 Jan 31, 2026.
Transparency logSecurity for AndroidFileHostScraper 3.0.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for androidfilehostscraper-3.0.0.tar.gz
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 Jan 31, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.