Free & Open API — No Auth Required for Public Endpoints

Build with |

Free public REST API powered by Cloudflare Workers edge network. Fast, rate-limited, and ready to use in seconds.

~ ms Latency
60 req/min Free
600 req/min Keyed
100% Uptime
https://api-vlyzer.vlyzer.workers.dev

Built for Developers

Everything you need in a free API, deployed at the edge for maximum performance.

Edge-Powered

Runs on Cloudflare Workers — 300+ data centers worldwide. Sub-50ms latency globally.

🛡️

Smart Rate Limiting

60 req/min free tier, 600 req/min with API key. Powered by Workers native rate limiting.

📦

R2 Object Storage

Upload and serve files with zero egress fees. Unlimited storage at the edge.

🗄️

D1 Database

SQLite at the edge. Manage API keys, track usage, store metadata.

🆓

100% Free

No credit card required. Free tier includes 100K requests/day, 10GB R2 storage.

🔒

Access Key System

Protect your endpoints with API keys. Env-based or database-backed, your choice.

All Endpoints

Simple, consistent REST API with JSON responses.

PUBLIC No authentication required — Rate limited to 60 req/min per IP
GET
/ API info, endpoints list, and rate limit details
GET
/health Health check — verifies R2 and D1 connectivity
GET
/ping Simple ping-pong response
GET
/file/:key Download a file from R2 storage
PROTECTED Requires x-api-key header — Rate limited to 600 req/min
POST
/upload Upload a file to R2 (multipart/form-data, max 100MB)
GET
/keys List all API keys (paginated)
POST
/keys Create a new API key
DELETE
/keys/:key Revoke an API key

API Playground

Test endpoints live — right from your browser.

Ready
Click "Send" to make a request...
Quick test:

Code Examples

Copy-paste ready code for your favorite language.

bash
# Ping the API
curl https://api-vlyzer.vlyzer.workers.dev/ping

# Upload a file (requires API key)
curl -X POST https://api-vlyzer.vlyzer.workers.dev/upload \
  -H "x-api-key: YOUR_API_KEY" \
  -F "file=@photo.jpg"

# Download a file
curl https://api-vlyzer.vlyzer.workers.dev/file/uploads/1234-photo.jpg

# Create API key
curl -X POST https://api-vlyzer.vlyzer.workers.dev/keys \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "my-app"}'
javascript
const API = "https://api-vlyzer.vlyzer.workers.dev";

// Ping
const ping = await fetch(`${API}/ping`);
const data = await ping.json();
console.log(data.result.message); // "pong"

// Upload file
const formData = new FormData();
formData.append("file", fileInput.files[0]);

const upload = await fetch(`${API}/upload`, {
  method: "POST",
  headers: { "x-api-key": "YOUR_API_KEY" },
  body: formData,
});
const { result } = await upload.json();
console.log(result.url); // "/file/uploads/..."
python
import requests

API = "https://api-vlyzer.vlyzer.workers.dev"

# Ping
ping = requests.get(f"{API}/ping")
print(ping.json()["result"]["message"])  # "pong"

# Upload file
with open("photo.jpg", "rb") as f:
    upload = requests.post(
        f"{API}/upload",
        headers={"x-api-key": "YOUR_API_KEY"},
        files={"file": f}
    )
print(upload.json()["result"]["url"])
go
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    // Ping
    resp, _ := http.Get("https://api-vlyzer.vlyzer.workers.dev/ping")
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Response Format

Success
{
  "status": true,
  "author": "@zerrloose",
  "result": { ... },
  "timestamp": "2026-08-17T...",
  "response_time": "3ms"
}
Error
{
  "status": false,
  "author": "@zerrloose",
  "result": {
    "error": "Rate limit exceeded",
    "code": "RATE_LIMIT_EXCEEDED"
  },
  "timestamp": "2026-08-17T...",
  "response_time": "1ms"
}