---
title: Generate/Score Password API
slug: password-strength-evaluation
url: https://apyhub.com/creightonnick0/service/password-strength-evaluation
provider: nick creighton
categories: ["Security & Privacy"]
tags: [password-strength, password-generator, security, entropy, credential-security]
auth: api_key
version: 1.0.0
service_type: sync
endpoints: 1
atoms: 10
mcp: true
---

# Generate/Score Password API

Score a password with strength, entropy, warnings, and crack-time analysis, or generate a strong password of any chosen length.

## Endpoints

| Method | URL | Description | Atoms |
| --- | --- | --- | --- |
| POST | `https://api.eu.apyhub.com/creightonnick0/password-strength-evaluation` | What it does Scores a provided password's strength, or generates a strong password when requested.… | 10 |

## Endpoint reference

### Score a password's strength, and/or generate a strong one.

`POST https://api.eu.apyhub.com/creightonnick0/password-strength-evaluation` · 10 atoms · accepts `application/json` · returns `application/json`

| Parameter | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `length` | body | integer | no | Length for a generated password (8-128, default 20) Example: `20`. |
| `generate` | body | boolean | no | Generate a strong password instead of scoring Example: `true`. |
| `password` | body | string | no | Password to score (omit to generate one) Example: `Tr0ub4dour&3`. |

#### Quickstart

Score a password by sending it in a JSON body.

```bash
curl -X POST "https://api.eu.apyhub.com/creightonnick0/password-strength-evaluation" \
  -H "apy-token: $APY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"password":"Tr0ub4dour&3"}'
```

#### What you'll get back

Returns a JSON object with `analysis` (`object`), `password` (`string`), and `generated` (`boolean`) top-level fields.

- `analysis` contains password details such as `length` (`integer`), `strength` (`string`), `warnings` (`array`), `entropy_bits` (`number`), `character_classes` (`object`), and `estimated_crack_time` (`string`).
- `password` is the evaluated or generated password string.
- `generated` is `true` when the API generated a password, and `false` when it scored the one you sent.

```json
{
  "analysis": {
    "length": 12,
    "strength": "strong",
    "warnings": [],
    "entropy_bits": 78.4,
    "character_classes": {
      "digits": true,
      "symbols": true,
      "lowercase": true,
      "uppercase": true
    },
    "estimated_crack_time": "centuries"
  },
  "password": "Tr0ub4dour&3",
  "generated": false
}
```

## About

## What it does
Password Strength Checker scores a password or generates a strong one, depending on the request body you send.

Send `password` to evaluate an existing password. The response includes an `analysis` object with `length`, `strength`, `warnings`, `entropy_bits`, `character_classes`, and `estimated_crack_time`. That gives you a quick read on whether a password is short, predictable, missing character variety, or likely to be cracked quickly.

If you set `generate` to `true`, you can ask for a new password instead. Use `length` to control the generated password length from 8 to 128 characters, with 20 as the default. The response returns the generated `password` and a `generated` flag so you can distinguish creation from scoring.

Use Password Strength Checker in account signup flows, password reset screens, admin tools, or security reviews where you need immediate feedback before accepting a password.

## Usage

Base URL: `https://api.eu.apyhub.com` (default region — see
`GET https://apyhub.com/api/public/regions` for the rest).

Authenticate with an ApyHub API key in the `apy-token` header.
Full docs and a live playground: https://apyhub.com/creightonnick0/service/password-strength-evaluation
