GUID Forge: Bulk UUID & ID Generator
Pricing
from $0.01 / 1,000 results
GUID Forge: Bulk UUID & ID Generator
Generate UUID v1/v4/v5 and custom IDs (alphanumeric or sequential, timestamped) at high speed. Outputs to dataset
Pricing
from $0.01 / 1,000 results
Rating
5.0
(1)
Developer
Inus Grobler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
17 days ago
Last modified
Categories
Share
Generate UUIDs, GUIDs, and custom IDs in bulk on Apify. Choose random UUIDs, deterministic UUID v5 values, custom alphanumeric IDs, or padded sequences, then download one clean identifier per dataset row.
Why use this bulk UUID and GUID generator?
- Generate up to 5,000,000 IDs in one run.
- Supports UUID v1, UUID v4, UUID v5, alphanumeric IDs, and sequential IDs.
- Add optional prefix and suffix to every identifier.
- Output is clean JSON in the default Apify dataset:
{ "guid": "..." }. - UUID v5 supports deterministic name templating for repeatable IDs.
Supported Types
v1/uuidv1: time-based UUIDsv4/uuidv4: random UUIDs (default)v5/uuidv5: namespace + name-based deterministic UUIDsalphanumeric: random IDs from a custom charsetsequential: incrementing numeric IDs with optional timestamp prefix
How to generate UUIDs in Apify Console
- Open the actor and click Start.
- Pick your
type(for examplev4,v5,alphanumeric, orsequential). - Set
count. - Optionally set
prefix/suffixand type-specific fields. - Run the actor and open the Dataset tab to download results.
For a quick batch of 1,000 random UUID v4 values:
{"count": 1000,"type": "v4"}
Input Reference
count(integer): number of IDs to generate. Min1, max5000000, default5.type(string):v1,v4,v5,alphanumeric,sequential. Defaultv4.prefix(string): optional text prepended to every ID.suffix(string): optional text appended to every ID.validateUnique(boolean): in-memory duplicate validation. Defaultfalse, max supported1000000items when enabled.batchSize(integer): dataset push chunk size. Min1, max50000, default5000.
UUID v5 fields (type: "v5")
uuidV5Name(string): base name input. If omitted, default isguid-forge.uuidV5Namespace(string):DNS,URL, or a UUID namespace string. If omitted or invalid, default isDNS.uuidV5NameTemplate(string, optional): template tokens:{{name}}{{index}}or{{n}}(1-based){{index0}}(0-based)
Alphanumeric fields (type: "alphanumeric")
alphanumericLength(integer): min1, max10000, default16.alphanumericCharset(string): allowed characters. Default base62 charset.
Sequential fields (type: "sequential")
sequentialStart(integer): default1.sequentialStep(integer): default1, cannot be0.sequentialPadding(integer): min0, max50, default6.sequentialTimestampPrefix(boolean): defaulttrue.sequentialTimestampUnit(string):msors, defaultms.sequentialDelimiter(string): default-.
Example Inputs
1) UUID v4 (random GUIDs)
{"count": 1000,"type": "v4"}
2) UUID v5 (deterministic)
{"count": 3,"type": "v5","uuidV5Name": "customer","uuidV5Namespace": "DNS","uuidV5NameTemplate": "{{name}}-{{index}}"}
3) Alphanumeric IDs with prefix
{"count": 10,"type": "alphanumeric","alphanumericLength": 12,"prefix": "ORD-"}
4) Sequential IDs for order numbers
{"count": 5,"type": "sequential","sequentialStart": 1000,"sequentialStep": 1,"sequentialPadding": 8,"sequentialTimestampPrefix": false,"prefix": "INV-"}
Output Format
Each dataset item has this shape:
{"guid": "a17e8844-f7e1-4bd1-913c-f68bb4a1ad4b"}
Performance and Reliability Notes
- Use larger
batchSizevalues for better throughput. - Keep
validateUniquedisabled for very large runs to reduce memory usage. - Sequential generation enforces JavaScript safe-integer bounds to prevent precision errors.
- UUID v5 runs continue even if
uuidV5Name/uuidV5Namespaceare missing; safe defaults are applied automatically.
Common Use Cases
- Bulk primary keys for database seeding
- Stable deterministic IDs for ETL joins (UUID v5)
- Order, invoice, or ticket ID generation
- Test data generation for QA and CI pipelines
- API reference IDs and internal code generation
Existing API aliases
The actor still accepts legacy aliases:
guidTypeas alias fortypenameas alias foruuidV5Namenamespaceas alias foruuidV5Namespace
Run GUID Forge with Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("thescrapelab/guid-forge-bulk-uuid-id-generator").call(run_input={"count": 1000,"type": "v4","prefix": "customer-",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["guid"])
You can schedule generation, trigger it through the Apify API, or connect the dataset to another Apify integration.
Pricing and cost control
Cost grows mainly with the number of identifiers written to the dataset. Use a small count while testing, and request only the batch you need. Very large exports take longer and consume more dataset storage. Apify shows the active Store price and platform-usage estimate before a run starts.
Limits and caveats
- A run can generate at most 5,000,000 rows.
validateUniquechecks duplicates only within the current run and is limited to 1,000,000 generated items.- UUID v5 deliberately returns the same value for the same namespace and name. Change the name template when you need distinct rows.
- Sequential IDs can overlap across separate runs if you reuse the same start, step, and formatting. Keep the timestamp prefix enabled or manage ranges yourself.
- Generated identifiers are not automatically passwords, access tokens, or other credentials. Apply the security controls required by your application.
Troubleshooting
- Fewer rows than expected: check the run status and make sure
countis within the 5,000,000-row limit. - UUID v5 values repeat: make
uuidV5NameTemplatevary with{{index}}or{{index0}}. - Sequential values collide with an older batch: choose a new range or keep
sequentialTimestampPrefixenabled. - A large run uses too much memory: disable
validateUnique, keep the default batch size, or split the export into smaller runs. - Alphanumeric IDs look too short: increase
alphanumericLengthand confirm the custom charset contains enough distinct characters.
Support
If a valid configuration fails, open the Actor's Issues tab and include the run ID, requested ID type, count, and a sanitized input.