HomeAPI Documentation

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.

No API Key

Free to use without authentication. Just call the endpoint.

Rate Limited

30 requests per second per IP address to prevent abuse.

RESTful JSON

Simple GET requests with JSON responses.

Base URL

https://seckeygen.com/api/generate

Endpoints

GET/api/generate

Generate a random secret key with default settings (32 chars, alphanumeric + symbols)

Example Request

curl https://seckeygen.com/api/generate

Example Response

{
  "keys": "Kx9#mP2$vL5nQ8@wR3jY6tB1cF4hN7!s",
  "length": 32,
  "charsetSize": 72,
  "entropy": 197
}
GET/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, uuid

Example Request

curl https://seckeygen.com/api/generate?template=django

Example Response

{
  "keys": "Kx9mP2vL5nQ8wR3jY6tB1cF4hN7sG0dM2kX5pW8qE1rT4u",
  "template": "django",
  "length": 50,
  "charsetSize": 72,
  "entropy": 308
}
GET/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: 32
lowercase(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 include
excludeChars(string)Characters to exclude from the key
prefix(string)Prefix to add to the generated key
count(number)Number of keys to generate (1-10). Default: 1

Example Request

curl 'https://seckeygen.com/api/generate?length=16&lowercase=true&numbers=true'

Example Response

{
  "keys": "k9m2v5n8w3j6t1c4",
  "length": 16,
  "charsetSize": 36,
  "entropy": 82
}
GET/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

TemplateLengthCharactersUse Case
django50Alphanumeric + SymbolsDjango SECRET_KEY
fastapi32URL-safe Base64FastAPI/Starlette secrets
jwt64URL-safe Base64JWT signing secrets
flask24Alphanumeric + SymbolsFlask SECRET_KEY
laravel32Base64 (with prefix)Laravel APP_KEY
rails128Hex lowercaseRails secret_key_base
nextauth32URL-safe Base64NextAuth NEXTAUTH_SECRET
encryption64Hex lowercaseAES-256 encryption keys
api-key40AlphanumericGeneric API keys
password20Alphanumeric + SymbolsSecure passwords
uuid36UUID v4 formatUnique 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: 29

If 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_KEY

Python

import requests

# Generate a JWT secret
response = requests.get('https://seckeygen.com/api/generate?template=jwt')
data = response.json()
print(data['keys'])  # Your JWT secret

cURL

# 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