Free Password Generator API — Developer Docs

Password Generator API

A free, public JSON API for generating passwords, passphrases, PINs, and usernames. No API key, no signup, no cost.

https://api.makemeapassword.net
No API Key Required 60 Requests / Minute JSON Responses Free Forever

Quick Start

Every endpoint accepts a simple GET request and returns JSON. No authentication, headers, or setup required — just call the URL.

curl https://api.makemeapassword.net/v1/password

Response:

{ "password": "Kj8#mQ2vNxpL4wRt" }

Endpoints

GET /v1/password
ParameterTypeDefault
lengthinteger, 4-12816
upperbooleantrue
lowerbooleantrue
numbersbooleantrue
symbolsbooleantrue
excludeAmbiguousbooleanfalse
GET https://api.makemeapassword.net/v1/password?length=20&symbols=false

{ "password": "mp0BH70pQIR1eUB8ilQx" }
GET /v1/passphrase
ParameterTypeDefault
wordsinteger, 3-155
separator“-“, “.”, “_”, or ” “
capitalizebooleantrue
addNumberbooleantrue
GET https://api.makemeapassword.net/v1/passphrase?words=6&separator=.

{ "passphrase": "Autumn.Blur.Actress.Artwork.Athlete.Animal.83" }
GET /v1/pin
ParameterTypeDefault
lengthinteger, 4-124
avoidRepeatbooleanfalse
avoidSequentialbooleanfalse
GET https://api.makemeapassword.net/v1/pin?length=6&avoidSequential=true

{ "pin": "947285" }
GET /v1/username
ParameterTypeDefault
style“adjnoun” or “nounnoun”adjnoun
addNumberbooleantrue
capitalizebooleantrue
GET https://api.makemeapassword.net/v1/username?style=nounnoun

{ "username": "HawkCobra70" }

Example: JavaScript (fetch)

fetch('https://api.makemeapassword.net/v1/password?length=20')
  .then(res => res.json())
  .then(data => console.log(data.password));

Example: Python

import requests

response = requests.get('https://api.makemeapassword.net/v1/password', params={'length': 20})
print(response.json()['password'])

Rate Limits

This API is free and public, so a rate limit of 60 requests per minute per IP address is enforced to keep it available for everyone. If you exceed this, you’ll receive a 429 response until the window resets. There is no API key or account needed to use it within these limits.

Errors

Invalid parameters return a 400 status with a JSON error message. Unknown routes return a 404. Rate limit violations return a 429.

{ "error": "At least one character type must be enabled" }