con un clic
find-api
Discover, document, and map all API endpoints of an Android application
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
Discover, document, and map all API endpoints of an Android application
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
Full security analysis of an Android application — from APK to report
Compare two versions of an Android app — diff permissions, APIs, security, code changes
Intelligent traffic interception — SSL bypass, HTTP logging, traffic collection
Automated account registration in an Android app using temp email and UI automation
| name | find-api |
| description | Discover, document, and map all API endpoints of an Android application |
| user_invocable | true |
| argument | <package_name_or_apk_path> |
| agent | android-reverser |
You are mapping the complete API surface of an Android application. Goal: a developer could rebuild the API client from your output.
$ARGUMENTS — package name or APK pathjadx -d workspace/output/$PKG --deobf $APK
# apkleaks finds URLs, endpoints, API keys in seconds
apkleaks -f $APK --json -o workspace/reports/$PKG-endpoints.json
Review output — often catches endpoints that manual grep misses (string concatenation, BuildConfig fields).
Search for annotated interfaces — this is the goldmine:
grep -rn "@GET\|@POST\|@PUT\|@DELETE\|@PATCH\|@HEAD\|@HTTP" workspace/output/$PKG/
For each interface found:
@Query, @Field, @Body, @Path parametersCall<Model> or Observable<Model>)grep -rn 'baseUrl\|BASE_URL\|API_URL\|SERVER_URL\|ENDPOINT\|api_host' workspace/output/$PKG/
grep -rn 'https\?://[a-zA-Z0-9.-]*api[a-zA-Z0-9.-]*' workspace/output/$PKG/
Look for direct HTTP usage:
grep -rn 'HttpURLConnection\|OkHttpClient\|Volley\|WebView.*loadUrl' workspace/output/$PKG/
grep -rn 'WebSocket\|ws://\|wss://\|Socket\.IO\|firebase' workspace/output/$PKG/
grep -rn 'graphql\|/graphql\|query.*{.*}\|ManagedChannel\|\.grpc\.' workspace/output/$PKG/
If endpoint strings are obfuscated:
/api/, /v1/, /v2/)strings.xml and other resource files for URLsres/raw/ and assets/ for config filesIf static analysis is insufficient or obfuscated:
# Option A: Frida API tracer (captures Retrofit calls)
frida -U -f $PKG -l workspace/frida-scripts/api-tracer.js
# Option B: Full HTTP logging (captures all traffic)
frida -U -f $PKG -l workspace/frida-scripts/ssl-bypass.js -l workspace/frida-scripts/http-logger.js
# Navigate the app to trigger API calls
python pytools/ui_explorer.py snapshot
# Walk through key screens
Save traffic to workspace/traffic/$PKG-traffic.json
Build the complete picture:
Save to workspace/reports/$PKG-api.md:
# API Documentation: <App Name>
## Base URLs
- Production: https://api.example.com
- CDN: https://cdn.example.com
## Authentication
- Type: Bearer JWT / API Key / OAuth2
- Login: POST /auth/login → { access_token, refresh_token }
- Token passed via: Authorization header / cookie / custom header
## Endpoints
### Auth
| Method | Path | Auth | Body | Response |
|--------|------|------|------|----------|
| POST | /auth/login | No | { email, password } | { token, user } |
| POST | /auth/refresh | Bearer | { refresh_token } | { token } |
### Users
| Method | Path | Auth | Params | Response |
...
If traffic was captured:
python pytools/traffic_to_collection.py frida workspace/traffic/$PKG-traffic.json --name "$PKG API" --output workspace/collections/$PKG.json