PostBin (postb.in): 30-minute bins, the API and post bin alternatives that still work
PostBin still works at postb.in (Toptal's old PostBin page redirects there): one POST creates a bin that records requests for 30 minutes. On October 29, 2026 postb.in and ptsv3.com worked, while ptsv2.com, Hookbin and mockbin.org did not work. A free webhooks.sh bin lasts 48 hours, no signup.
PostBin is alive at www.postb.in, where one API call creates a bin that records any HTTP request for 30 minutes, and Toptal's old PostBin page at toptal.com/developers/postbin redirects there. Several older post bins people still search for no longer work. Below is how postb.in works, which post bin sites still work today, how ptsv3 compares, a side-by-side comparison, and how to keep a bin longer than half an hour.
How postb.in works
- Send
POST /api/bintohttps://www.postb.into create a bin, which returns JSON with abinId,nowand anexpirestimestamp 30 minutes out. - Send any HTTP request to
https://www.postb.in/<binId>and it answers200with areqIdas plain text. - Open
https://www.postb.in/b/<binId>in your browser to see captured requests, or callGET /api/bin/<binId>/req/shift, which removes the oldest stored request and returns its method, headers, query, parsed JSON body, IP,reqId,binIdand aninsertedtimestamp (or callGET /api/bin/<binId>/req/<reqId>to return one request).
The API returns headers exactly as sent, Authorization included, to anyone who has the binId. Once 30 minutes are up, the bin is gone, and requests to it get a 404.
# Create a bin (expires in 30 minutes)
curl -X POST https://www.postb.in/api/bin
# Send a request to it
curl -X POST https://www.postb.in/<binId> \
-H "Content-Type: application/json" \
-d '{"event":"test"}'
# Read the oldest request (and remove it)
curl https://www.postb.in/api/bin/<binId>/req/shift
Which post bin sites still work
We checked the post bin services people still search for on October 29, 2026 from a cloud sandbox, and retried each one that failed in 3 rounds.
A test from one location is a snapshot, not an uptime record. Also, requestbin.com now redirects to pipedream.com (see our RequestBin page).
| Service | Status | Bin lifetime | Requests |
|---|---|---|---|
| postb.in | Working | 30 minutes | None listed |
| ptsv3.com, no account | Working | 24 hours | 10 |
| ptsv3.com, free account | Needs signup, not tested | Permanent, 3 bins | 25-request history per bin |
| webhooks.sh free bin | Working | 48 hours, longer if claimed | 100 a day |
| ptsv2.com | Not working, HTTPS handshake failed | n/a | n/a |
| hookbin.com | Not working, timed out | n/a | n/a |
| mockbin.org | Not working, domain did not resolve | n/a | n/a |
| requestbin.com | Redirects to pipedream.com | n/a | n/a |
| postbin.org | Page loads, no working bin flow found | n/a | n/a |
ptsv3 limits and API
ptsv3.com is free and accepts any HTTP method at http://ptsv3.com/<bin>, while legacy /t/<bin> URLs redirect to /<bin> and /t/<bin>/post goes to /api/<bin>/latest. You can read captured requests over HTTP with GET /api/<bin>/updates (with an optional ?since parameter), /api/<bin>/latest and /api/<bin>/<request_id>.
Anonymous demo bins need no account, are public, expire in 24 hours and take 10 requests, while a free account gives you 3 permanent public bins with a 25-request history per bin. On free and anonymous bins you can read POST and GET requests, but the contents of PUT, PATCH and DELETE requests are locked behind an upgrade prompt, which we saw in our test when both a POST and a PUT got 200 back and the PUT showed up locked. Private bins, token security and unlimited usage sit under a Developer Plan that's marked "Soon".
curl -X POST http://ptsv3.com/<bin> -d 'hello=world'
# Latest request as JSON
curl http://ptsv3.com/api/<bin>/latest
postb.in vs ptsv3 vs webhooks.sh
Here is how postb.in, ptsv3 and webhooks.sh stack up when you need a quick place to point an HTTP sender.
postb.inis quickest for a one-off check from a script and has the simplest API.ptsv3suits a permanent public test URL when you only need to readPOSTandGETpayloads.webhooks.shsuits webhooks you want to watch over 48 hours and keeps reading private to your secret view URL (https://view.webhooks.page/b/<bin>#<view key>), since the ingest URL alone gives no read access.webhooks.shredacts headers whose name containsauthorization,cookie,key,tokenorsecretin the viewer and API so you won't see those values, though signature headers likeStripe-SignatureandX-Hub-Signature-256stay visible.postb.inandwebhooks.shboth always answer200and can't return custom responses, so look at our Beeceptor page if you need mock responses.
| Feature | postb.in | ptsv3, no account | webhooks.sh free bin |
|---|---|---|---|
| Signup | No | No | No |
| Bin lifetime | 30 minutes | 24 hours | 48 hours, longer if claimed |
| Requests | None listed | 10 | 100 a day |
| Who can read it | Anyone with the bin ID | Public | Only the secret view URL |
| Reply to the sender | 200 with a reqId | 200 | 200 with a small JSON body |
| Read by API | Yes | Yes | Yes, with the view key |
Keep a bin longer than 30 minutes
- Create a free bin in your browser at view.webhooks.page or run
curl -X POST https://webhooks.sh/v1/bins, which returns JSON withingest_url,view_url,claim_urlandexpires_at. - Send any HTTP method and path to your ingest URL (
https://<bin>.webhooks.page/), which takes up to 100 requests per day and bodies up to 100KB for 48 hours. - Watch requests arrive live in the browser with their method, path, query string, headers and body, or fetch them from the API with
GET https://view.webhooks.page/api/bins/<bin>/deliveriesand anx-view-keyheader.
If you want to keep that free bin past 48 hours, claim it from the bin page with a free Google sign-in before it expires. The timer stops, the ingest URL stays the same, and new requests are kept for 30 days on a rolling basis, with up to 25 claimed bins per account. If you need more than 100 requests a day or 100KB bodies, Solo ($12 a month on our pricing page) gives you named persistent endpoints on webhooks.host with 90 days of history, replay and localhost relay through the wsh CLI, and forwarding to up to 3 verified HTTPS URLs.
curl -X POST https://webhooks.sh/v1/bins
curl -X POST https://<bin>.webhooks.page/test \
-d 'hello=world'
FAQ
What happened to PostBin?
PostBin runs at www.postb.in, and Toptal's old toptal.com/developers/postbin URL redirects there with a 301. Each bin you create expires after 30 minutes.
How long does a postb.in bin last?
A postb.in bin lasts 30 minutes from creation. The POST /api/bin call returns now and the exact expires timestamp in its JSON response.
Is ptsv2 down?
On October 29, 2026, ptsv2.com failed the HTTPS handshake in 3 rounds of checks, and plain HTTP returned a Google App Engine 404. ptsv3.com worked on the same day.
Is Hookbin still working?
No, not on October 29, 2026. hookbin.com timed out across 3 rounds of checks.
Is there a free post bin that lasts longer than 30 minutes?
Yes, ptsv3.com gives you 24 hours and 10 requests with no account, or 3 permanent public bins with a free account. A free webhooks.sh bin lasts 48 hours and takes 100 requests a day with no signup, and you can claim it with a free Google sign-in to keep new requests for 30 days.
Can I read postb.in requests from code?
Yes. Call GET /api/bin/<binId>/req/shift to remove and return the oldest stored request, or call GET /api/bin/<binId>/req/<reqId> to return one request.
Can a post bin send back a custom response?
No, postb.in always answers 200 with a reqId as plain text, and a webhooks.sh bin always answers 200 with a small JSON body like {"ok":true,"delivery_id":"..."}. If you need custom responses, use a mock tool such as Beeceptor.
Last updated
Try it in 10 seconds.
Create a free bin at view.webhooks.page — no signup, no install. Point your sender at the URL and watch requests land live. Bins expire after 48 hours.