Discovery
Pull hard-coded endpoints from an Android APK
apkurlgrep is an open-source Go tool that extracts endpoints and URLs from decompiled APK files, pairing with apktool to collect an Android app's API endpoints, hidden paths, and hardcoded links for further testing.
installgo get -u github.com/ndelphit/apkurlgrep
Go · MIT license
overview
What apkurlgrep does
apkurlgrep greps an APK for URL-like strings and endpoint paths so you see hard-coded API hosts and routes without reading smali by hand. That is often the fastest look at a mobile backend with no public docs.
Supply the original APK with --apk. In an offline owned-fixture test, the existing image extracted a URL from DEX content but omitted a separate resource URL. Treat the results as candidates, not a complete inventory of embedded endpoints.
Trickest runs it as a managed Discovery node: APK in, FILE plus FOLDER of endpoints out. Wire after APK collection so mobile hosts join the same httpx and nuclei stages as web recon.
use cases
Where apkurlgrep fits
Map an app's backend API surface
Extract the URLs and endpoint paths embedded in an APK to reveal the API hosts and routes a mobile app depends on, often undocumented and absent from any web UI.
Feed mobile endpoints into web testing
Hand extracted URLs to httpx and nuclei so the app's backend gets the same liveness and vulnerability testing as your web targets, from one merged endpoint list.
Discover hosts nothing else surfaces
Pull API hosts that appear only inside the app and never in DNS or a web crawl, expanding scope beyond what subdomain enumeration finds.
Sweep a set of collected APKs
Fan the node across a list of packages in a workflow, merge and dedupe the results, then probe the combined endpoint set in one pass.
reference
apkurlgrep inputs and flags
| Name | Type | Flag | Description |
|---|---|---|---|
| apk-file | FILE | --apk | Path to the APK file to walk and extract URLs and endpoint paths from. |
Showing key inputs. apkurlgrep exposes 1 inputs in total.
example
Run apkurlgrep
apkurlgrep --apk fixture.apkResult of URLs:
https://fixture.invalid/api/v1guidance
Choosing apkurlgrep
Use when you have an APK file and want candidate embedded URLs and paths. This node does not accept a decoded folder or prove that an extracted endpoint is reachable.
apktool-decode
Unpacks the whole APK into a source tree. Use when you need more than URLs.
linkfinder
Extracts endpoints from JavaScript. Web counterpart for the same job.
getjs
Pulls JS files from web targets for endpoint mining. Pairs with linkfinder on the web side.
faq
apkurlgrep questions
related
More Discovery tools
cariddi
Crawl a domain list and scan responses for endpoints, secrets, tokens, and juicy files.
crawlergo
Browser-driven crawler that harvests requests for downstream scanners.
dirsearch
Web path scanner.
fallparams
Crawl pages, harvest potential parameters, write a custom wordlist.
feroxbuster
Recursive content discovery with smart defaults and rich response filters.
gau
Passive known-URL fetch from public web archives.
Run apkurlgrep yourself
Retained native stdout from the existing public image on a self-owned APK containing a DEX URL marker. The DEX marker was extracted; a separate resource URL was omitted. A malformed APK still returned wrapper exit zero, so this is positive extraction evidence, not a passed invalid-input check.
Facts on this page come from the live Trickest tool library.