ApiCatcher for Android

Making Android HTTP/HTTPS packet capture and debugging simpler

Built on VpnService + tun2proxy, ApiCatcher force-redirects HTTP/HTTPS traffic at the VPN tunnel layer—transparent to apps and independent of system proxy settings. Aligned with the iOS core architecture for a clean mobile capture experience.

Requires Android 11 (API 30) or later
ApiCatcher for Android | HTTP Capture

Professional Packet Capture & API Debugging Tool

Comprehensive network request capture, Mock rewriting, AI scripting, and request replay—all in one efficient network debugging service.

Capture HTTPS Traffic

Directly capture and analyze HTTPS requests and responses on your Android device.

Capture WebSocket Traffic

Support capturing WS/WSS traffic and displaying data frames as a chat message list.

Allow/Deny Host List

Configure Host allow/deny lists to filter requests and avoid capturing traffic from other applications.

Request Replay

Replay requests with a single tap to quickly reproduce and verify issues.

Combined Replay

Drag and drop to combine multiple requests, supporting dependent parameter injection and sequential execution.

Request Rewrite

Supports Mock, modification, dropping, and other rewrite behaviors to cover common debugging needs.

Execute Scripts

Provides scripting capabilities for complex rewrites and encryption algorithms, with rapid testing.

Scheduled Request Replay

Supports triggering replays on a schedule to assist automated testing and regression verification.

Export Requests

Supports exporting request records for easy sharing and reproduction.

Export API

Automatically generates API documentation, exportable to Postman / Apifox.

Export Image/Video/Audio

Automatically identifies and extracts media requests, supporting merging of segmented downloads.

API Scanning

Rule-based detection and statistics from captured traffic, supporting custom scanning rules.

DNS Mapping

Define custom DNS resolution rules to map domain names to specific IP addresses.

Protobuf Decode

Automatically decode Protobuf-encoded request or response Body.

Clean, Easy-to-Use Android Network Capture & Debugging Experience

Empowering Android developers to efficiently locate and analyze HTTP and WebSocket traffic.

No Desktop Proxy Required

NO PCPROXY

Stop reconfiguring Wi‑Fi or cellular proxy settings for every debug session. Start capture with one tap directly on your Android device.

Full-Traffic TUN Transparent Capture

VPNTUN

Creates a TUN virtual NIC via VpnService and transparently forwards HTTP/HTTPS connections to a local MITM proxy through tun2proxy.

HTTPS Man-in-the-Middle Decryption

MITMHTTPS

A local Netty-based MITM proxy decrypts HTTPS via CONNECT tunnels and dynamic certificate issuance, while forwarding and recording HTTP traffic directly.

Extremely Simple and Intuitive Interaction Design

UIUX

A clean UI aligned with the iOS experience. Request and response details at a glance, making traffic analysis more efficient.

Android Packet Capture Guide & Limitations

Understand how it works, CA installation, and HTTPS capture limits to get started quickly

1How It Works

1. Create VPN / TUN Virtual NIC

When capture starts, ApiCatcher creates a VpnService and captures all IP packets on the device through a TUN virtual network interface.

2. Transparent Forwarding via tun2proxy

tun2proxy (a Rust native library) parses TCP packets at a low level and transparently forwards HTTP/HTTPS connections to local 127.0.0.1:8888.

3. Local MITM Proxy Decryption

A local Netty-based MITM proxy forwards and records HTTP traffic directly, and decrypts HTTPS via CONNECT tunnels plus dynamic certificate issuance. Transparent to apps and independent of system proxy settings.

2CA Certificate Installation Guide

Capturing HTTPS traffic requires installing the ApiCatcher CA certificate first. Because Android 14+ (API ≥ 34) no longer allows apps to install CA certificates directly, please download and install manually as follows:

  1. Tap “Install CA Certificate” in the app; the certificate is saved to the Downloads folder.
  2. Go to Settings → Security & privacy → More security & privacy → Encryption & credentials → Install a certificate → CA certificate.
  3. Select the Downloads/apicatcher_ca.crt file.
  4. Enter your lock-screen password to confirm installation.
  5. Go to Settings → Security & privacy → More security & privacy → Encryption & credentials → Trusted credentials → User, find the certificate named ApiCatcher CA, and tap Trust.

MITM does not bypass SSL Pinning. Even with the CA installed, apps with certificate pinning (e.g. many Google apps) cannot be decrypted.

3Limitations of Capturing and Debugging HTTPS Traffic

Certificates can usually only be installed in the User credential store. On Android 7 and above, most apps do not trust user certificates, so their HTTPS traffic cannot be decrypted.

Website Debugging

Browsers such as Chrome typically trust user certificates and can capture web traffic normally. If you are debugging web browsing, we recommend using Chrome.

App Debugging

To capture and decrypt traffic from your own app, configure your project to trust user certificates. See “How Developers Capture Their Own App Traffic” below for configuration details.

4How Developers Capture Their Own App Traffic

1. Capture HTTP Requests

If your app uses the default networking stack, simply enable the ApiCatcher VPN—no extra configuration is needed.

2. Capture HTTPS Requests

On Android 7.0 (API 24)+, the system trusts only system CA certificates by default, not user-installed ones. Developers must declare trust for user CAs in their app, or HTTPS handshakes will fail.

Create network_security_config.xml under res/xml/:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <certificates src="user"/>
            <certificates src="system"/>
        </trust-anchors>
    </debug-overrides>
</network-security-config>

Then reference it on the application tag in AndroidManifest.xml:

<application
    android:networkSecurityConfig="@xml/network_security_config"
    ...>
</application>

This only takes effect in debug builds; release builds are unaffected. After installing the ApiCatcher CA and enabling VPN, you can capture your app’s own HTTPS traffic.