API Documentation
Generate secure secret keys programmatically with our free REST API. No API key required. Perfect for CI/CD pipelines, automation scripts, and development tools.
Free to use without authentication. Just call the endpoint.
30 requests per second per IP address to prevent abuse.
Simple GET requests with JSON responses.
Base URL
https://seckeygen.com/api/generateEndpoints
/api/generateGenerate a random secret key with default settings (32 chars, alphanumeric + symbols)
Example Request
curl https://seckeygen.com/api/generateExample Response
{
"keys": "Kx9#mP2$vL5nQ8@wR3jY6tB1cF4hN7!s",
"length": 32,
"charsetSize": 72,
"entropy": 197
}/api/generate?template={template}Generate a secret key using a predefined framework template
Query Parameters
template(string)requiredTemplate name: django, fastapi, jwt, flask, laravel, rails, nextauth, encryption, api-key, password, uuidExample Request
curl https://seckeygen.com/api/generate?template=djangoExample Response
{
"keys": "Kx9mP2vL5nQ8wR3jY6tB1cF4hN7sG0dM2kX5pW8qE1rT4u",
"template": "django",
"length": 50,
"charsetSize": 72,
"entropy": 308
}/api/generate?length={n}&lowercase={bool}&uppercase={bool}&numbers={bool}&symbols={bool}Generate a custom secret key with specific character sets and length
Query Parameters
length(number)Key length (1-256). Default: 32lowercase(boolean)Include lowercase letters (a-z)uppercase(boolean)Include uppercase letters (A-Z)numbers(boolean)Include numbers (0-9)symbols(boolean)Include symbols (!@#$%^&*...)customChars(string)Additional custom characters to includeexcludeChars(string)Characters to exclude from the keyprefix(string)Prefix to add to the generated keycount(number)Number of keys to generate (1-10). Default: 1Example Request
curl 'https://seckeygen.com/api/generate?length=16&lowercase=true&numbers=true'Example Response
{
"keys": "k9m2v5n8w3j6t1c4",
"length": 16,
"charsetSize": 36,
"entropy": 82
}/api/generate?count={n}Generate multiple keys at once (up to 10)
Query Parameters
count(number)Number of keys (1-10)Example Request
curl 'https://seckeygen.com/api/generate?template=jwt&count=3'Example Response
{
"keys": [
"Kx9mP2vL5nQ8wR3jY6tB1cF4hN7sG0dM2kX5pW8qE1rT4uY7iO0aS3dF6gH9jK",
"L2mN5bV8cX1zQ4wE7rT0yU3iO6pA9sD2fG5hJ8kL1mN4bV7cX0zQ3wE6rT9yU",
"P8qW5eR2tY9uI6oA3sD0fG7hJ4kL1mN8bV5cX2zQ9wE6rT3yU0iO7pA4sD1fG"
],
"template": "jwt",
"length": 64,
"charsetSize": 64,
"entropy": 384
}Available Templates
| Template | Length | Characters | Use Case |
|---|---|---|---|
| django | 50 | Alphanumeric + Symbols | Django SECRET_KEY |
| fastapi | 32 | URL-safe Base64 | FastAPI/Starlette secrets |
| jwt | 64 | URL-safe Base64 | JWT signing secrets |
| flask | 24 | Alphanumeric + Symbols | Flask SECRET_KEY |
| laravel | 32 | Base64 (with prefix) | Laravel APP_KEY |
| rails | 128 | Hex lowercase | Rails secret_key_base |
| nextauth | 32 | URL-safe Base64 | NextAuth NEXTAUTH_SECRET |
| encryption | 64 | Hex lowercase | AES-256 encryption keys |
| api-key | 40 | Alphanumeric | Generic API keys |
| password | 20 | Alphanumeric + Symbols | Secure passwords |
| uuid | 36 | UUID v4 format | Unique identifiers |
Rate Limiting
The API is rate limited to 30 requests per second per IP address. Rate limit information is included in response headers:
X-RateLimit-Limit: 30
X-RateLimit-Remaining: 29If you exceed the rate limit, you'll receive a 429 Too Many Requests response:
{
"error": "Rate limit exceeded",
"message": "Too many requests. Please try again shortly.",
"retryAfter": 1
}Code Examples
JavaScript / Node.js
// Generate a Django secret key
const response = await fetch('https://seckeygen.com/api/generate?template=django');
const data = await response.json();
console.log(data.keys); // Your Django SECRET_KEYPython
import requests
# Generate a JWT secret
response = requests.get('https://seckeygen.com/api/generate?template=jwt')
data = response.json()
print(data['keys']) # Your JWT secretcURL
# Generate a custom 64-char alphanumeric key
curl 'https://seckeygen.com/api/generate?length=64&lowercase=true&uppercase=true&numbers=true'Bash Script
#!/bin/bash
# Generate and export as environment variable
export SECRET_KEY=$(curl -s 'https://seckeygen.com/api/generate?template=django' | jq -r '.keys')Need a Visual Generator?
Use our web-based tool to generate keys interactively with advanced settings.
Open Key Generator