httpstat.us alternative

Free Test Endpoints

Reliable HTTP endpoints that return specific status codes. A modern httpstat.us replacement that's always online. Perfect for testing your monitoring setup, webhooks, error handling, or CI/CD pipelines.

All endpoints are publicly available. No authentication required. Rate limited to prevent abuse.

Success Responses

200 OK
https://api.uptimesignal.io/test/200
201 Created
https://api.uptimesignal.io/test/201

Client Error Responses

400 Bad Request
https://api.uptimesignal.io/test/400
401 Unauthorized
https://api.uptimesignal.io/test/401
403 Forbidden
https://api.uptimesignal.io/test/403
404 Not Found
https://api.uptimesignal.io/test/404

Server Error Responses

500 Internal Server Error
https://api.uptimesignal.io/test/500
502 Bad Gateway
https://api.uptimesignal.io/test/502
503 Service Unavailable
https://api.uptimesignal.io/test/503
504 Gateway Timeout
https://api.uptimesignal.io/test/504

Special Behaviors

SLOW 5 Second Delay
https://api.uptimesignal.io/test/slow

Returns 200 OK after a 5-second delay

TIMEOUT 60 Second Hang
https://api.uptimesignal.io/test/timeout

Hangs for 60 seconds (useful for testing timeout handling)

RANDOM Random Status
https://api.uptimesignal.io/test/random

Randomly returns 200, 500, or 503

Migrating from httpstat.us

If you were using httpstat.us (httpstatus) for testing, switching to UptimeSignal's test endpoints is straightforward. Here's how to migrate:

Before (httpstat.us)

httpstat.us/200

After (UptimeSignal)

api.uptimesignal.io/test/200

Our endpoints support all common status codes (200, 201, 400, 401, 403, 404, 500, 502, 503, 504) plus special behaviors like slow responses and timeouts. Unlike httpstat.us, we're built on Cloudflare's edge network for reliable, low-latency responses worldwide.

Response Format

All endpoints return JSON with the following structure:

{
  "status": 200,
  "message": "OK",
  "timestamp": "2024-12-27T12:00:00.000Z",
  "powered_by": "UptimeSignal"
}

Common Use Cases

Testing Monitoring Tools

Verify your monitoring setup correctly detects failures by pointing it at our /test/500 endpoint.

Webhook Testing

Test how your application handles different HTTP responses from external services.

CI/CD Pipeline Testing

Validate your deployment health checks work correctly before going to production.

Error Handling Development

Build and test error handling logic against real HTTP responses.

Code Examples

cURL
# Test a 200 OK response
curl -i https://api.uptimesignal.io/test/200

# Test a 500 Internal Server Error
curl -i https://api.uptimesignal.io/test/500

# Test timeout handling (will hang for 60s)
curl -i --max-time 10 https://api.uptimesignal.io/test/timeout
JavaScript (fetch)
// Test error handling in your app
async function testErrorHandling() {
  try {
    const response = await fetch('https://api.uptimesignal.io/test/500');
    if (!response.ok) {
      console.log('Error handled correctly:', response.status);
    }
  } catch (error) {
    console.error('Network error:', error);
  }
}

// Test timeout handling
const controller = new AbortController();
setTimeout(() => controller.abort(), 5000);

fetch('https://api.uptimesignal.io/test/timeout', {
  signal: controller.signal
}).catch(err => {
  if (err.name === 'AbortError') {
    console.log('Request timed out as expected');
  }
});
Python (requests)
import requests

# Test different status codes
endpoints = [200, 400, 404, 500, 503]

for code in endpoints:
    response = requests.get(f'https://api.uptimesignal.io/test/{code}')
    print(f'{code}: {response.status_code} - {response.json()["message"]}')

# Test timeout handling
try:
    response = requests.get(
        'https://api.uptimesignal.io/test/timeout',
        timeout=5
    )
except requests.Timeout:
    print('Request timed out as expected')

Understanding HTTP Status Codes

HTTP status codes are three-digit numbers returned by a server in response to a client's request. They indicate whether the request was successful, encountered an error, or requires further action.

1xx Informational

The request was received and is being processed. Rarely seen in practice.

2xx Success

The request was successfully received, understood, and accepted. 200 OK is the most common.

3xx Redirection

Further action needed to complete the request. 301 and 302 redirects are common.

4xx Client Error

The request contains bad syntax or cannot be fulfilled. 404 Not Found is the most famous.

5xx Server Error

The server failed to fulfill a valid request. These indicate server-side problems.

Frequently Asked Questions

Is this an httpstat.us alternative?
Yes! If you used httpstat.us (httpstatus) for testing HTTP responses, our test endpoints work the same way. We provide reliable, always-online endpoints that return specific HTTP status codes. Simply replace httpstat.us/200 with api.uptimesignal.io/test/200 in your code.
Are these test endpoints free to use?
Yes, all test endpoints are completely free to use. No authentication or API key required. We rate limit requests to prevent abuse, but normal testing usage should never hit these limits.
Can I use these endpoints in my CI/CD pipeline?
Absolutely! These endpoints are designed for automated testing. Use them in GitHub Actions, GitLab CI, Jenkins, or any other CI/CD system. The endpoints have high availability and consistent response times.
How do I test timeout handling?
Use our /test/timeout endpoint which hangs for 60 seconds. Set a shorter timeout in your HTTP client (e.g., 5 seconds) and verify your code properly handles the timeout error.
What's the difference between /test/slow and /test/timeout?
/test/slow waits 5 seconds then returns a 200 OK - useful for testing slow but successful responses. /test/timeout hangs for 60 seconds - designed to trigger timeout errors in clients with shorter timeouts.
Do you support custom status codes?
Currently we support a curated set of the most commonly needed status codes. If you need a specific status code for testing, let us know and we'll consider adding it.
Are CORS headers included?
Yes, all endpoints include Access-Control-Allow-Origin: * headers, so you can use them from browser-based JavaScript applications without CORS issues.

Now monitor your real endpoints

Done testing? Add your actual endpoints to UptimeSignal and get alerted when they go down.

Start monitoring free →

25 monitors free. No credit card required.

More Free Tools