PayloadPigeon — Chrome extension for HTTP & WebSocket testing

Test your frontend and backend. Don’t build requests from scratch.

Capture the HTTP and WebSocket traffic your app already generates, see what happened after each user action, change what you need, and save useful checks for later.

Watch Getting Started ↗

No application code changesNo accountLibrary stored locally

PayloadPigeon is available now in the Chrome Web Store. All features are free during Early Access; a paid plan is not available yet.

Free access terms · KIRAVS D.O.O., Montenegro

Short demo: capture a real Playground request, change available from true to false, choose Ready and repeat the app action to compare the delivered response.
GETTING STARTED

See the complete workflow

Capture real traffic, change a response, save the scenario as a Test, repeat it, test outgoing requests and WebSocket messages, and inspect mixed HTTP + WebSocket activity.

Getting Started tutorial: capture real traffic, change a response, save and repeat a Test, test outgoing requests and WebSocket messages, and inspect mixed HTTP and WebSocket activity. Use the player controls to play, pause, adjust volume or seek.

Getting Started · HTTP & WebSocket testingWatch on YouTube ↗
HOW IT WORKS

Real traffic to a reusable check — three steps.

Start with an action in your app and the request or message it already sends.

  1. 01

    See what happened
    after the action

    Perform the action you want to test. Automatic Actions help you focus on the meaningful HTTP and WebSocket activity observed afterward, so you can focus on the relevant behavior.

    After: Submit · 6
  2. 02

    Change what
    the app sees

    For incoming responses or messages, use Modify & test → Ready, then repeat the app action. For outgoing requests or messages, use Modify & send → Send and inspect the real response.

    Modify & send / Modify & test
  3. 03

    Save the
    useful check

    Keep useful scenarios as Tests with Starting state and Expected behavior. Repeat them after the next fix or change, then record the manual Result.

    Save as Test Test Plans
Real Playground HTTP traffic with After: Send request and the captured response in PayloadPigeon
Start with the traffic your app already generates.
ACTIONS · VIEW ACTIVITY

One action.
The whole network story.

One click or submit can trigger several HTTP requests and WebSocket messages.

PayloadPigeon groups the meaningful traffic observed after that action, so you can follow the sequence without jumping between separate logs.

Open View Activity to see HTTP and WebSocket events together on one relative timeline, including failures and modifications.

Activity is a temporary view of captured traffic — not a separate saved object and not a claim of perfect causality.

Explore Actions and Activity →

ILLUSTRATIVE ACTIVITY

After: Submit profile

  1. HTTP · POST/api/profile/prepare200
  2. App → Serverprofile.start
  3. Server → Appprofile.started
  4. HTTP · GET/api/validation503 · Failed
  5. Server → Appprofile.completedModified
  6. HTTP · GET/api/result200
Illustrative HTTP + WebSocket sequence with relative timing. Not a product screenshot.

Application traffic first

Successful assets, analytics and other supporting traffic stay out of the way until you need them. Errors remain visible.

Search and visibility controls bring supporting traffic back without losing chronology. How focused Traffic works →

TEST PLANS · SAVED CHECKS

Changed the code?
Repeat your saved checks.

Save the network scenario together with what must be true before the check and what the tester should expect to see. Organize reusable Tests into Test Plans, then repeat them after changes.

Return to a check while fixing a bug or building the next change — without setting it up from scratch.

Starting state and Expected behavior keep the purpose of each Test clear. Use Send or Ready to run it; record a Result after checking the app.

You run each Test yourself. Backend Tests send when you choose Send; frontend Tests use Ready and wait for matching fresh traffic according to their saved response or message behavior. Test Plans are not an automatic runner.

TEST PLAN

Checkout

4 Tests
CURRENT CHECK4/4 · 1 problemRetest 1 problem ›
→ BACKENDHTTP
✓ Works correctly
Invalid quantity
POST /api/orders
SendEdit ›
← FRONTENDHTTP
✓ Works correctly
Slow payment
POST https://checkout.example.test/api/payments*
ReadyEdit ›
Server → AppWEBSOCKET
✓ Works correctly
order.updated delayed
order.updated · wss://checkout.example.test/ws*
ReadyEdit ›
← FRONTENDHTTP
× Found a problem
Cart service unavailable
GET https://checkout.example.test/api/cart*
ReadyEdit ›
Example Checkout Test Plan with saved checks and their Results.
RESULTS · CHECK HISTORY

Save the Test — and keep its results with it.

A Test is the reusable definition. A Result is an immutable record of one completed manual check: Works correctly or Found a problem, notes, an applied scenario snapshot and any evidence you chose to save.

Selected fields or the available full bodySave selected JSON fields or the available request, response, or message body after recognized sensitive values are removed or replaced.

A report for an issue or teammateExport Results as Markdown and choose whether to include already saved Result evidence.

You choose what to save for each run. If the selected data exceeds a limit, the extension reports the problem instead of silently trimming it. The outcome remains your manual assessment.

Cart service unavailable

FOUND A PROBLEM
← FRONTENDHTTP

Checkout

WHAT WENT WRONG

Error state remains visible after a successful retry

Applied changes

Response status set to HTTP 503. Response body unchanged.

RESPONSE

SERVER200 OK
APPLICATIONHTTP 503
Technical context

GET https://checkout.example.test/api/cart*

Example Result showing what was checked, what changed, and the problem that was found.

Check first. Save what you need to repeat. One-off actions remain visible in Traffic. After running a saved Test, record whether it worked or exposed a problem; that manual outcome stays in Results.

DATA & ACCESS

Test your tab.
Protect your saved data.

You start and stop Capture. Core testing runs locally in your browser. Saved Tests, Test Plans, and Results are encrypted locally with your password. No PayloadPigeon account or cloud backend is required for the saved library.

Backend Send contacts a destination you select, Playground uses the demo service, and optional usage analytics sends only aggregate feature-use counts after opt-in, never captured traffic.

You control CaptureYou choose the tab and start Capture. Captured traffic can include URLs, headers, bodies, and messages with sensitive data.

The password protects your saved libraryOne-off checks work before setup. You set the password when you first save durable data and unlock again after a full Chrome restart or an explicit Lock.

You choose the sharing formatJSON and Markdown are readable files. A Test Plan can also be shared as a protected package with a separate file password.

LEARNING ENVIRONMENT

Practise with safe sample traffic

Send real HTTP requests or WebSocket messages. See how PayloadPigeon groups the activity after the action, modify it, and watch the training app react.

Try HTTP, WebSocket or a multi-step Workflow. Use sample data only.

Open Playground
FAQ

Common questions

What to know before your first check with PayloadPigeon.

What are Actions?

PayloadPigeon watches supported trusted user actions such as clicks, submits and Enter activation, then groups meaningful HTTP/WebSocket activity observed after them. Empty actions do not create filters. Grouping uses timing, behavior and protocol relationships: “After” describes an association, not proof that an action caused every event.

What is View Activity?

A temporary timeline of the HTTP and WebSocket events associated with one selected captured action. Open an event in the existing Inspector. Activity is not saved separately; save a Test to repeat a check and a Result to keep its manual outcome.

Does Stop remove captured traffic?

No. Stop ends collection, but keeps the current Traffic and Activity available for inspection. Use Clear traffic when you want to delete the temporary captured history. This destructive action asks for confirmation. Saved Tests, Test Plans and Results are not affected by Clear traffic. Stop vs Clear traffic →

Do I need to create a Test Plan first?

No. Start Capture and begin with Traffic. Use Modify & send to edit and send a request or message to the server, or Modify & test to prepare a changed response or message for the app. Save the case as a Test when you want to repeat it without rebuilding the setup.

Why does Chrome show a debugging notice?

PayloadPigeon uses Chrome’s debugger API to work at the browser network layer for supported Capture and modification. This lets it preserve fresh-response behavior and use browser network events to verify supported traffic more directly. You choose the tab and start Capture yourself; use Stop when you want to end it. Learn more in Data & Security.

Why do I need a password, and when do I enter it?

Saved Tests and Results may contain sensitive data, so your library is encrypted with a local password. You set it when you save durable data for the first time. You need to enter it again after a full Chrome restart, an extension reload or update, disabling and re-enabling the extension, or a manual Lock — not before every test. Learn more about data protection.

Can I share Tests and Results with a teammate?

Yes. Export a Test Plan as regular JSON or as a package protected with a separate file password. Your teammate imports it into their own local library, so they do not need your PayloadPigeon password. Result history and saved evidence can be included using the available export options. Results can also be shared as a readable Markdown report. This is file-based sharing, not cloud sync.

What if I forget my password?

Use the recovery key you received during setup to unlock the existing library and set a new password. If the library is locked and both the password and recovery key are lost, the developer cannot restore access. The recovery key is not a backup and cannot restore deleted data.

What are the current limits?

This version does not support Incognito, cloud sync, or automatic execution of an entire Test Plan. Backend HTTP Send does not automatically follow redirects. WebSocket message modification is available only on supported connections. See the full list.

PAYLOADPIGEON · GOOGLE CHROME EXTENSION

Stop rebuilding the same manual check.

Start from real app traffic, keep the useful scenario, and repeat it after the fix.

Install from the Chrome Web Store. Free Early Access; no paid plan.