Network DevTools,
inside your iOS app.

Pry intercepts every URLSession request and gives you a full debugging suite — inspect, mock, breakpoint — without proxies, certificates, or a Mac.

Capture: Full Pry overlay in a demo app showing the network request list with method badges (GET/POST), status codes, response times, and the floating ladybug button visible in the corner
Pry network inspector running inside a live iOS app
Free & Open Source MIT Licensed iOS 18+ Swift 6 Zero Dependencies Star on GitHub

Why Pry?

Traditional proxy tools require complex setup, certificates, and a Mac. Pry lives inside your app — zero friction.

No proxy config

Pry intercepts traffic automatically via URLProtocol. Add one SwiftUI modifier and you are done.

Traditional approach

Configure proxy settings on each device, manage PAC files, deal with port conflicts.

No Mac needed

Debug directly on the device or simulator. Pry runs entirely inside your app — no companion Mac process.

Traditional approach

Requires a Mac running the proxy application. Debugging on a physical device away from your desk? Out of luck.

No certificates

Zero certificate installation. No trust profiles, no CA roots, no expiring certs to rotate.

Traditional approach

Install and trust a root CA certificate on every device. Certs expire, break certificate pinning, and may pose security risks.

Works everywhere

Cellular, VPN, corporate Wi-Fi, hotspot — Pry intercepts at the URLSession level, so the network type does not matter.

Traditional approach

Only works on the same Wi-Fi network as the proxy. Cellular traffic, VPNs, and enterprise networks are invisible.

Everything you need, on device

A full debugging suite that lives inside your app. No external tools, no context switching.

Capture: Open PryDemo > Network tab > scroll to show a list of captured requests with colored method badges (GET green, POST blue, DELETE red), HTTP status codes, response sizes, and timing in milliseconds
Network Inspector — request list with status codes, timing, and method badges

Network Inspector

Captures every URLSession request automatically via URLProtocol injection. Works with Alamofire, Kingfisher, Firebase, and any third-party SDK out of the box.

  • Color-coded method badges and status codes
  • Response size and timing at a glance
  • Search, filter by method/status, sort by time
  • cURL export for any request
Capture: Open PryDemo > Network tab > tap a POST request > take screenshot of the detail view showing timing breakdown (DNS, TLS, TTFB bars), request/response headers, and JSON body with syntax highlighting
Request Detail — timing breakdown, headers, and JSON body with syntax highlighting

Request Detail

Drill into any request for the full picture. Timing waterfall, headers, body preview with syntax highlighting, JWT decoding, and redirect chain visualization.

  • Timing breakdown: DNS, TLS, connect, TTFB
  • JSON body with syntax highlighting
  • JWT token auto-decoding
  • Redirect chain visualization
Capture: Open PryDemo > trigger a GraphQL request > tap it in the list > take screenshot of the detail view showing the operation name, query/mutation type, variables section, and response with any errors highlighted
GraphQL Awareness — operation name, variables, and response errors

GraphQL Awareness

Pry detects GraphQL queries, mutations, and subscriptions automatically. Surfaces the operation name, variables, and highlights response errors — no more digging through raw JSON.

  • Auto-detects query, mutation, subscription
  • Shows operation name prominently
  • Variables and response errors surfaced
  • Works with any GraphQL client
Capture: Open PryDemo > Console tab showing colored log entries (green for success, yellow for warning, red for error), OR switch to App Hub tab showing cookies, UserDefaults entries, and device info cards
Console & App Hub — structured logs, cookies, UserDefaults, and device info

Console & App Hub

Structured console with color-coded log levels and file/line metadata. Plus a full App Hub — cookies, UserDefaults, device info, and permissions dashboard in one place.

  • Log levels: info, success, warning, error, debug
  • File, function, and line metadata
  • Cookies and UserDefaults browser
  • Device info and permissions dashboard

100% on-device.
Zero data leaves your app.

Pry has no servers, no accounts, no analytics, and no tracking. Every intercepted request, every log entry, every piece of data stays on your phone and is never transmitted anywhere. The only network traffic Pry creates is the traffic your app is already making.

No servers No accounts No tracking No analytics

Add it in 30 seconds

Three steps. No configuration files, no build phases, no scripts.

  1. 1

    Add the package

    dependencies: [
        .package(url: "https://github.com/9alvaro0/Pry.git", from: "1.0.0")
    ]
  2. 2

    Attach the modifier

    import Pry
    
    @main
    struct MyApp: App {
        @State private var store = PryStore()
    
        var body: some Scene {
            WindowGroup {
                ContentView()
                    .pry(store: store)
            }
        }
    }
  3. 3

    Tap the ladybug

    A floating action button appears on top of your app. Tap it to open the inspector. That is it — no proxy, no certificates, no configuration.

Free forever, or upgrade for more

Pry Free covers everything most apps need. Pry Pro adds advanced tooling for serious debugging and QA workflows.

Pry Free

$0

MIT licensed, forever.

  • Network monitor, detail view, timing breakdown
  • GraphQL awareness
  • Console logs with types
  • Deeplinks & push capture + simulators
  • Cookies, UserDefaults, device info
  • cURL export
  • Floating button, shake gesture, embedded mode
Use Pry Free
Early bird

Pry Pro

$49 /one-time

Lifetime license, single developer. $79 after launch.

  • Everything in Free
  • Breakpoints — pause and edit requests or responses on the fly
  • Mock responses — return fake JSON without touching the server
  • Replay — re-send any captured request
  • Request diff — compare two requests side by side
  • Network throttle — Slow 3G, Fast 3G, Lossy, Offline
  • Performance metrics — live CPU / memory / FPS charts
  • Session export — Postman Collection & HAR
  • Protobuf decoder — raw decode without .proto
Get Pry Pro — $49

You will be asked for your GitHub username during checkout. We add you as a read-only collaborator on the private PryPro repository within seconds of purchase.

Frequently asked questions

Is Pry Pro a subscription?

No. Pry Pro is a one-time purchase. You get lifetime access to the current major version and all minor and patch releases within it. Future major versions may require an upgrade.

Can I use Pry Pro on multiple projects?

Yes. A single-developer license covers unlimited projects built by the license holder. If you work in a team, each developer needs their own license.

What happens if I lose my GitHub access to PryPro?

Email hello@prytool.dev with your purchase receipt and we will re-add you. Access is tied to your purchase, not to a time-limited token.

Refund policy?

Full refund within 14 days of purchase, no questions asked. Your repository access is revoked automatically on refund.

Can I see the Pro source code?

Yes. Pry Pro is distributed as source code, not a compiled binary. You can step-through debug, adapt it, and submit feedback. Redistribution is not allowed by the license.

Does Pry send any data to your servers?

No. Pry is entirely on-device. Nothing is ever sent to prytool.dev or anywhere else. The only network traffic Pry creates is the traffic you are already making.

Ready to debug smarter?

Add Pry to your project in under a minute. Free, open source, on-device.