A dead simple API for delayed responses.
Perfect for testing timeouts, loading states, and async behavior.
POST to the delay path with your data - it will be echoed back:
curl -X POST https://slee.pt/5s \
-H "Content-Type: application/json" \
-d '{"data": {"message": "Hello!"}}'Your payload will be returned after 5 seconds.
Payload is optional - just POST with an empty body:
curl -X POST https://slee.pt/3s \
-H "Content-Type: application/json" \
-d '{}'Perfect for simple timeout testing.
240→ 240 seconds (default)5s→ 5 seconds2m→ 2 minutes1h→ 1 hour500ms→ 500 milliseconds1.5sAll successful responses return JSON with the following structure:
{
"success": true,
"delayed_by": 5000,
"requested_delay": "5s",
"timestamp": "2025-11-19T02:30:45.123Z",
"data": {
"message": "Your custom payload"
},
"url": null
}Verify your application handles slow responses gracefully
Example: /30s →Test UI loading indicators and skeleton screens
Example: /2s →Simulate API rate limits and throttling behavior
Example: /1m →Emulate slow network or high-latency scenarios
Example: /10s →Debug complex async/await patterns
Example: /5s →Test timeout error boundaries and retry logic
Example: /60s →async function testDelay() {
const response = await fetch('https://slee.pt/3s', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
data: { userId: 123, action: 'test' }
})
});
const result = await response.json();
console.log(result);
// Your data is returned after 3 seconds
}import requests
response = requests.post(
'https://slee.pt/5s',
json={'data': {'user_id': 123, 'action': 'test'}}
)
result = response.json()
print(result)
# Your data is returned after 5 secondsPerfect for Alpine-based Docker containers and minimal Linux distributions
wget --post-data='{"data": {"test": "value"}}' \
--header='Content-Type: application/json' \
--timeout=180 \
-O response.json \
https://slee.pt/2mpackage main
import (
"bytes"
"encoding/json"
"net/http"
)
func main() {
payload := map[string]interface{}{
"data": map[string]interface{}{"userId": 123},
}
body, _ := json.Marshal(payload)
resp, _ := http.Post(
"https://slee.pt/2s",
"application/json",
bytes.NewBuffer(body),
)
defer resp.Body.Close()
}use reqwest;
use serde_json::json;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = reqwest::Client::new();
let res = client
.post("https://slee.pt/4s")
.json(&json!({"data": {"userId": 123}}))
.send()
.await?;
let body = res.json::<serde_json::Value>().await?;
println!("{:?}", body);
Ok(())
}Currently there are no rate limits, but please use responsibly.
The maximum delay is 5 minutes (300 seconds) to prevent timeout issues.
Yes! Include a "data" field in your POST request body, and it will be returned in the response after the delay. The payload is completely optional - you can POST with an empty body {} if you just need a delay.
Yes, completely free and open for testing purposes.
This service is intended for development and testing. For production, consider self-hosting or using a dedicated service.
Built with Next.js • Open source • No tracking