RequestBin was the original “paste a URL, see the request” tool. The free hosted requestb.in was shut down years ago, and the brand now belongs to Pipedream β checked August 2026: both requestb.in and requestbin.com HTTP 301 to pipedream.com/requestbin, and clicking Create Request Bin there redirects straight to /auth/signup. The thing people actually remember β a throwaway URL that catches requests, before any account exists β isn't what lives at that address anymore.
Mockbird gives you that exact workflow back: one curl β a URL that accepts any method on any path, logs method, headers (webhook signatures included) and body, and replies with whatever you tell it to. Free, no signup, URLs don't expire.
π‘ Is requestb.in still dead? We check it β plus Hookbin, ptsv2.com (Post Test Server V2 β dedicated guide), webhook.site and mockbin.org (Kong's bin+mock playground, also gone) β with a plain GET every 30 minutes: live status page.
The shared demo project has a catch-all bin and a public request inspector. Pretend you're a webhook sender:
curl -X POST https://mockbird.mockbird.workers.dev/m/demo/github/webhook \
-H 'content-type: application/json' \
-H 'X-GitHub-Event: push' \
-H 'X-Hub-Signature-256: sha256=d00d1e' \
-d '{"ref":"refs/heads/main","commits":1}'
# now read the bin β method, path, body, and the signature headers are all there
curl https://mockbird.mockbird.workers.dev/api/projects/demo/requests
(The demo is shared and resets daily β private bins below.)
# 1. create a project (no signup)
curl -X POST https://mockbird.mockbird.workers.dev/api/projects \
-H 'content-type: application/json' -d '{"name":"my-bin"}'
# β {"id":"abc123","adminKey":"KEY", ...}
# 2. add a catch-all route: any method, any path
curl -X POST https://mockbird.mockbird.workers.dev/api/projects/abc123/routes \
-H 'X-Admin-Key: KEY' -H 'content-type: application/json' \
-d '{"method":"ANY","path":"/*","body":{"ok":true}}'
Every request to https://mockbird.mockbird.workers.dev/m/abc123/β¦ now answers 200 {"ok":true} and is logged. Read it back with GET /api/projects/abc123/requests (admin key), or open the dashboard's Recent requests card, tick “live”, and watch deliveries stream in β click a row to expand headers and body.
| You used to⦠| Now |
|---|---|
| Click “Create a RequestBin” | one POST /api/projects + one catch-all route (above) |
Point a webhook at requestb.in/<id> | point it at /m/<project>/anything/you/like β every path under the project is caught |
Open ?inspect to see requests | GET /api/projects/<project>/requests or the dashboard's live inspector |
| Watch the bin expire after 48 hours | bins don't expire |
Get a fixed 200 ok back | any status, custom headers, templated bodies that echo the request ({"challenge":"{{body.challenge}}"} handles URL-verification handshakes), per-route latency |
To be fair to the new owner: Pipedream's take is genuinely more powerful than the original. A modern “bin” there is a full workflow β you can run Node or Python on every event, return computed responses, and pipe deliveries into thousands of connected apps. If you want to do something with the requests β transform, route, automate β that's the right tool, and their event history is persistent.
The trade: it requires an account before you have a URL, and on the Free plan every caught request runs a workflow execution against a daily credit cap (a credit β 30 seconds of compute; active workflows are limited too β see their pricing docs). For “I need a URL for 5 minutes to see what this SDK sends”, that's a lot of machinery.
| Tool | Signup | Free capacity | URL lifetime | Beyond logging |
|---|---|---|---|---|
| Pipedream RequestBin | required | daily credit cap (each request = a workflow execution) | while the workflow is active | run real code per request, 1,000s of app integrations |
| webhook.site | no | 100 requests total | 7 days (free) | replay, email/DNS bins; scripting is paid |
| Beeceptor | no | 50 requests/day | unclaimed endpoints deleted after 7 days | rules engine, limited free |
| Mockbird | no | 10,000 requests/day/project | no expiry | templated responses, plus the same project is a full mock API |
Where the others still win: Pipedream executes arbitrary code and forwards events onward; webhook.site replays captured requests. Mockbird's inspector keeps the last 50 requests per project and truncates stored bodies at ~2,000 characters β a debugging window, not an archive. Written by the Mockbird maker β bias disclosed. Redirect chain, signup wall, and every curl on this page verified August 2026; Pipedream free-tier terms from their official pricing docs at the same date.
Catch-alls are a fallback: seeded resources and specific routes always win. So the same project can serve /products and /orders as a real fake backend while the catch-all quietly logs every stray request your app makes β which is usually the question you were debugging in the first place. Scope it with {"path":"/webhooks/*"} if you only want a subtree caught. And if you're building the webhook consumer side, Mockbird fires signed outbound webhooks too.