botseed API

There is one endpoint. It returns the most recently generated random number. This is, by design, the entire API.

Do not use this for anything production. The entropy is real but the source is a stream of bots behaving badly on the internet, which is entertaining but not a sound basis for cryptographic decisions. This exists to demonstrate how relentless and absurd automated web crawling has become.

Endpoint

GET /api/v1/current

Returns the latest cached value from the botseed processor as JSON. No authentication required. No parameters. No pagination.

Returns 503 if the processor hasn't generated a value yet (usually only during the first few seconds after startup).

Example request

curl https://botseed.net/api/v1/current

Example response

{
  "random_int":          7391826384729,           // the number
  "seed_int":            "11294857293847293847...",  // SHA-256 as int (big)
  "combined_hash":       "a3f8b2e1...",              // SHA-256 hex (64 chars)
  "system_secret":       "deadbeef...",              // secrets.token_bytes(32) hex
  "log_json": {
    "ip":             "66.249.66.xxx",           // last octet censored
    "host":           "acpwb.com",
    "path":           "/wiki/corporate-governance/",
    "method":         "GET",
    "status":         200,
    "response_ms":    47,
    "response_bytes": 18432,
    "user_agent":     "Mozilla/5.0 (compatible; GPTBot/1.0...)",
    "bot_type":       "OpenAI GPTBot",
    "bot_group":      "AI Crawlers",
    "timestamp":      "2026-04-08T20:00:00.123456+00:00"
  },
  "requests_per_second": 47,                          // acpwb.com traffic rate
  "generated_at":       "2026-04-08T20:00:00.124000+00:00"
}

How it works

Every HTTP request to acpwb.com is published to a Redis pub/sub channel. The botseed processor subscribes to that channel, mixes each request's JSON with 32 bytes of hardware entropy (secrets.token_bytes(32)), hashes the result with SHA-256, seeds a Python random.Random instance with the hash interpreted as a big-endian integer, calls .random(), and strips the leading 0. to produce the display integer.

Output is rate-limited to 20 events per second. During traffic bursts, older events are dropped and only the freshest are published. During quiet periods the stream simply pauses — no synthetic events are added.

The value at /api/v1/current is always the last published event, cached in Redis. It does not change between requests unless new traffic arrives. If you need a stream of values, connect to wss://botseed.net/ws/.

Response fields

random_int — the random number. Derived from random.random() with the "0." prefix stripped and cast to int.
seed_int — the integer seed used (SHA-256 digest as big-endian int). Stringified because it exceeds JSON's safe integer range.
combined_hash — SHA-256 of (hardware_entropy + request_json_bytes), hex-encoded.
system_secret — the 32-byte hardware entropy used for this value, hex-encoded. Changes every event.
log_json — the acpwb.com request that seeded this value. The source IP's last octet is always censored.
requests_per_second — acpwb.com traffic rate at time of generation (events in the last 1 second).
generated_at — ISO 8601 UTC timestamp.

← back to botseed.net