Skip to main content
POST
/
generate-keys
Generate API Keys
curl --request POST \
  --url https://api-key-generator.tavily.com/generate-keys \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "permission_level": "user",
  "name": "projectA",
  "scope": [
    "api:generate_keys"
  ],
  "key_type": "development",
  "key_limit": 200,
  "ttl_hours": 10,
  "count": 2
}
'
{
  "keys": [
    "tvly-dev-MI9p6...",
    "tvly-dev-f7Wrr..."
  ],
  "expires_at": "2026-02-25T01:14:45Z",
  "created": "2026-02-24T15:14:45",
  "message": "2 keys generated successfully with 200 credits each. These keys will be automatically deactivated after 10 hours",
  "request_id": "949297ca-d123-4267-8041-45398a0b847d"
}
Who can use this feature?
This feature is available on the Enterprise plan. Talk to an expert to learn more.

Authorizations

Authorization
string
header
required

Bearer authentication header in the form Bearer , where is your Tavily API key (e.g., Bearer tvly-YOUR_API_KEY).

Body

application/json

Parameters for generating API keys.

permission_level
enum<string>
required

The permission level for the key.

Available options:
admin,
user
name
string

The name of the key(s). Auto-generated in the format {key_type}-{expiration}-#{index}

scope
enum<string>[]

Permission scopes for the key. Only applicable when permission_level is "user".

Available options:
api:generate_keys
key_type
enum<string>
default:development

The type of key.

Available options:
development,
production
key_limit
integer
default:200

The number of credits for the generated keys.

Required range: 1 <= x <= 100000
ttl_hours
integer
default:10

Number of hours before the keys become deactivated.

Required range: 1 <= x <= 8760
count
integer
default:1

The total number of keys to generate.

Required range: 1 <= x <= 200

Response

200 - application/json

Keys generated successfully.

keys
string[]

The generated API keys.

Example:
["tvly-dev-MI9p6...", "tvly-dev-f7Wrr..."]
expires_at
string

The expiration timestamp for the keys.

Example:

"2026-02-25T01:14:45Z"

created
string

The creation timestamp.

Example:

"2026-02-24T15:14:45"

message
string

A summary message about the generated keys.

Example:

"2 keys generated successfully with 200 credits each. These keys will be automatically deactivated after 10 hours"

request_id
string

Unique identifier for this generation request. Use this to bulk-deactivate the keys later.

Example:

"949297ca-d123-4267-8041-45398a0b847d"