ULID Generator API

GET

Give every record a unique ID that naturally sorts by time.

ULID Generator creates Universally Unique Lexicographically Sortable Identifiers that order records chronologically. Pass an optional batch count and millisecond timestamp to produce 26-character collision-resistant unique IDs with format details.

Try it — live request, no key required

Request
GETapi.apiverve.com/v1/ulidgenerator
Verification
Format

No key required to try it. Get a key to use it in your app.

Example
{
  "status": "ok",
  "error": null,
  "data": {
    "ulids": [
      "01KCMMK564DMMCC17AVBZTVNT1",
      "01KCMMK565ZE4681DFAEWBF95G",
      "01KCMMK566K1REYH0JEK4Q8DKW",
      "01KCMMK5670W9EHFNX76R8FKWH",
      "01KCMMK568SFRY6DCZTZYMR66Y"
    ],
    "count": 5,
    "timestamp": 1765924246724,
    "format": "26 characters (10 timestamp + 16 random)",
    "sortable": true,
    "case_insensitive": true
  }
}

About the ULID Generator API

ULID Generator works by combining a timestamp component (10 characters) with random data (16 characters) using Crockford's Base32 alphabet. Results are case-insensitive, sortable, and URL-safe.

What people use it for

Database Keys
Generate sortable primary keys for databases that maintain chronological order
Distributed Systems
Create unique identifiers across distributed systems with time-based sorting
Log Aggregation
Generate sortable IDs for log entries and event tracking systems
API Resources
Create resource identifiers that reveal creation time and sort naturally

Ways to call it

One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.

JSON
Default REST response
XML
Markup format
YAML
Human-readable
CSV
Tabular export
Beta
GraphQL
Query language
New
MCP
For AI agents

Other ways to use ULID Generator

Same data, same APIVerve account, same credit balance — one key works on all of them.

Questions.

Common questions about the ULID Generator API.

Read the docs →
How many generation requests does the Free plan cover?
The Free plan covers 100 requests per month. Each request uses 2 credits. If you need higher volume, the Starter plan handles up to 100,000 requests per month, which works out to about $0.30 per 1,000 calls.
Do I get the timestamp value back on the Free plan?
No, the millisecond timestamp field used during generation is a premium field. It requires any paid plan, starting with the Starter plan.
Can I generate identifiers for a specific point in time?
Yes. You can supply an optional custom timestamp in milliseconds to backdate or anchor identifiers to an exact moment. If omitted, the API uses the current system time.
Can I create multiple identifiers in a single call?
Yes. Pass the count parameter in your request to generate a batch of ULIDs at once. The response returns the identifiers together in an array.
Are the generated identifiers safe to use in URLs and databases?
Yes. Each ULID is a 26-character string combining a 10-character timestamp with 16 characters of random data encoded in Crockford's Base32 alphabet. They are URL-safe, case-insensitive, and lexicographically sortable.

Ready to build with ULID Generator? Start with 200 free credits — one key unlocks all 300+ APIs.

Explore the catalog

300+ APIs on the same key and the same response shape.

Browse all APIs