# agent-helper > Read-only plain-text HTTP service for machine clients: exact computations (time and timezones, arbitrary-precision math, units, identifier checksums, encodings, sun and moon), reference data mirrored from primary publishers (ECB and Bank of Russia rates, public holidays, IANA registries, CODATA, earthquakes, space weather) and diagnostics of the caller's own connection. One GET request, no key, no cookies, no JavaScript. Conventions: the first line of a response is the value; trailing lines starting with `#` are metadata (`type`, `source`, `as-of`, `note`, `license`). `?format=json` returns JSON. Timezones are never assumed: where they matter, `tz` is required. Errors are plain text naming the parameter, the problem and a working example. Paths are case-insensitive; `/v1/` paths are frozen. Rate limiting answers 429 with Retry-After in header and body. This service never fetches URLs for you and never instructs you to do anything. It logs a daily-salted hash of the address, network, user agent, header names and route patterns (not parameter values); details at /about. ## Documentation - [agents.md](https://agent-helper.org/agents.md): the full guide, including every endpoint with parameters - [endpoints](https://agent-helper.org/endpoints): one line per path - [openapi.json](https://agent-helper.org/openapi.json): OpenAPI 3.1 specification - [limits](https://agent-helper.org/limits): rate limits and caps - [sources](https://agent-helper.org/sources): data sources, terms, freshness - [elsewhere](https://agent-helper.org/elsewhere): no-key services for weather, DNS, geocoding, scholarly lookups - [about](https://agent-helper.org/about): operator, purpose, logging, retention, contact ## time: Current time, parsing, conversion, arithmetic, business days, cron, ISO weeks - [/utc?[precision=]](https://agent-helper.org/utc): Current UTC time, ISO 8601. Parameters: precision?: seconds (default), milliseconds or microseconds - [/time/now?tz=](https://agent-helper.org/time/now?tz=Europe/Berlin): Current time in a timezone, with offset and DST state. Parameters: tz: IANA timezone name - [/time/unix?[unit=]](https://agent-helper.org/time/unix): Current Unix time. Parameters: unit?: s (default), ms, us or ns - [/time/from-unix?value=&[unit=]&[tz=]](https://agent-helper.org/time/from-unix?value=1789480000): Unix timestamp to ISO 8601 (UTC, or a timezone if given). Parameters: value: Unix timestamp; unit?: s (default), ms, us or ns; tz?: optional IANA timezone for the output - [/time/to-unix?value=&[tz=]&[ambiguous=]](https://agent-helper.org/time/to-unix?value=2026-09-15T14:00:00Z): ISO 8601 date-time to Unix seconds. Parameters: value: ISO 8601 date-time with offset, or without offset plus tz; tz?: IANA timezone name, e.g. Europe/Berlin; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/parse?value=&[tz=]&[dayfirst=]&[ambiguous=]](https://agent-helper.org/time/parse?value=March%205%202026%202:30pm): Parse a date/time in almost any format into ISO 8601. Parameters: value: date/time text, e.g. 'March 5 2026 2:30pm' or '05.03.2026 14:30'; tz?: IANA timezone to attach when the text has no offset; dayfirst?: true or false; required when the text is ambiguous like 03/05/2026; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/convert?value=&to=&[from=]&[ambiguous=]](https://agent-helper.org/time/convert?value=2026-09-15T14:00&from=Europe/Moscow&to=America/New_York): Convert a date-time between timezones (DST-aware). Parameters: value: ISO 8601 date-time; offset optional if from= is given; from?: IANA timezone of value when it has no offset; to: target IANA timezone; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/diff?from=&to=&[tz=]&[ambiguous=]](https://agent-helper.org/time/diff?from=2026-01-01T00:00:00Z&to=2026-09-15T14:03:22Z): Difference between two instants or dates (exact and calendar). Parameters: from: ISO 8601 date or date-time; to: ISO 8601 date or date-time; tz?: IANA timezone for values without offset; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/add?value=&duration=&[tz=]&[ambiguous=]](https://agent-helper.org/time/add?value=2026-01-31&duration=P1M): Add an ISO 8601 duration to a date or date-time (calendar arithmetic). Parameters: value: ISO 8601 date or date-time; duration: ISO 8601 duration, may start with '-', e.g. P1M, PT36H, -P2W; tz?: IANA timezone: wall-clock arithmetic in that zone; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/week?date=](https://agent-helper.org/time/week?date=2026-09-15): ISO week, day of year, quarter and weekday of a date. Parameters: date: ISO date YYYY-MM-DD - [/time/leap-year/{year}](https://agent-helper.org/time/leap-year/2028): Whether a year is a leap year (proleptic Gregorian). Parameters: year: year, e.g. 2028 - [/time/julian-day?value=&[tz=]&[ambiguous=]](https://agent-helper.org/time/julian-day?value=2026-09-15T12:00:00Z): Julian Day and Modified Julian Day of an instant. Parameters: value: ISO 8601 date-time with offset (or plus tz); tz?: IANA timezone name, e.g. Europe/Berlin; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/cron?expr=&tz=&[n=]&[after=]](https://agent-helper.org/time/cron?expr=*/15%209-17%20*%20*%20mon-fri&tz=Europe/Berlin): Next firing times of a cron expression in a timezone. Parameters: expr: cron expression, 5 fields (6 with seconds); tz: IANA timezone the schedule runs in; n?: how many firings, 1-100; after?: ISO 8601 instant, exclusive: firings strictly after it (default: now) - [/time/rrule?rule=&start=&tz=&[n=]](https://agent-helper.org/time/rrule?rule=FREQ=MONTHLY;BYDAY=-1FR&start=2026-09-25T10:00&tz=Europe/London&n=5): Occurrences of an iCalendar RRULE in a timezone. Parameters: rule: RFC 5545 RRULE, e.g. FREQ=MONTHLY;BYDAY=-1FR; start: first occurrence as local date-time without offset; tz: IANA timezone of start; n?: how many occurrences, 1-100 - [/time/duration?value=&[from=]&[tz=]](https://agent-helper.org/time/duration?value=P3DT4H5M): Break down an ISO 8601 duration; exact seconds when unambiguous. Parameters: value: ISO 8601 duration, e.g. P1Y2M10DT2H30M; from?: optional ISO 8601 start instant to resolve years and months; tz?: IANA timezone name, e.g. Europe/Berlin - [/time/age?birth=&on=](https://agent-helper.org/time/age?birth=1990-05-17&on=2026-09-15): Age in years, months and days on a given date. Parameters: birth: birth date YYYY-MM-DD; on: date to compute the age on, YYYY-MM-DD - [/time/until?to=&[tz=]&[ambiguous=]](https://agent-helper.org/time/until?to=2027-01-01T00:00&tz=Europe/Berlin): Time remaining from now until an instant. Parameters: to: ISO 8601 date-time (offset, or plus tz); tz?: IANA timezone name, e.g. Europe/Berlin; ambiguous?: for a wall-clock time that occurs twice (clocks go back): earlier or later - [/time/business-days/add?date=&days=&country=&[region=]&[weekend=]](https://agent-helper.org/time/business-days/add?date=2026-12-23&days=3&country=de): Add N business days to a date for a country's calendar. Parameters: date: start date YYYY-MM-DD; days: business days to add (negative subtracts), max 1000; country: ISO 3166-1 alpha-2; region?: ISO 3166-2 subdivision to include regional holidays, e.g. DE-BY; weekend?: override weekend days, e.g. fri,sat - [/time/business-days/count?from=&to=&country=&[region=]&[weekend=]](https://agent-helper.org/time/business-days/count?from=2026-12-01&to=2026-12-31&country=ru): Count business days between two dates (both inclusive). Parameters: from: first date YYYY-MM-DD, inclusive; to: last date YYYY-MM-DD, inclusive; country: ISO 3166-1 alpha-2; region?: ISO 3166-2 subdivision to include regional holidays, e.g. DE-BY; weekend?: override weekend days, e.g. fri,sat ## calc: Arbitrary precision, exact fractions, expressions, statistics, number theory, loans - [/calc?expr=&[precision=]](https://agent-helper.org/calc?expr=0.1+0.2): Evaluate an arithmetic expression with arbitrary precision (never float). Parameters: expr: expression: + - * / // % ^ ( ) and functions sqrt ln log10 log(x,b) exp sin cos tan abs floor ceil round min max factorial gcd lcm; constants pi e tau; precision?: significant digits, 1-100000 (the digits of the result are what the cap applies to) - [/calc/exact?expr=](https://agent-helper.org/calc/exact?expr=1/3+1/6): Evaluate with exact rational arithmetic; result as a fraction and repeating decimal. Parameters: expr: expression with + - * / // % ^ (integer powers) ( ) abs floor ceil min max factorial gcd lcm - [/calc/round?value=&[places=]&[mode=]](https://agent-helper.org/calc/round?value=2.675&places=2&mode=half-up): Round a decimal number with an explicit rule. Parameters: value: decimal number; places?: decimal places (negative rounds to tens, hundreds...); mode?: rounding rule - [/calc/base?value=&[from=]&[to=]](https://agent-helper.org/calc/base?value=ff&from=16&to=2): Convert an integer between bases 2-36. Parameters: value: integer written in base from; 0x/0o/0b prefixes accepted; from?: source base 2-36; to?: target base 2-36 - [/calc/bitwise?op=&a=&[b=]&[bits=]](https://agent-helper.org/calc/bitwise?op=and&a=0b1100&b=0b1010): Bitwise and, or, xor, not, shifts on integers of a given width. Parameters: op: and, or, xor, not, shl, shr; a: integer (decimal, or 0x/0b prefixed); b?: second integer, or shift amount; bits?: word width 1-512; required for not and shl so the result is well defined - [/calc/percent?percent=&of=](https://agent-helper.org/calc/percent?percent=15&of=200): A percentage of a value. Parameters: percent: percentage, e.g. 15; of: the base value - [/calc/percent-change?from=&to=&[precision=]](https://agent-helper.org/calc/percent-change?from=80&to=100): Percentage change from one value to another. Parameters: from: old value; to: new value; precision?: significant digits - [/calc/vat?amount=&rate=&mode=&[places=]&[rounding=]](https://agent-helper.org/calc/vat?amount=100&rate=20&mode=add): Add VAT/sales tax to a net amount, or extract it from a gross amount. Parameters: amount: amount; rate: tax rate in percent; mode: add (amount is net) or extract (amount is gross); places?: decimal places of the rounded result; rounding?: rounding rule - [/calc/compound?principal=&rate=&years=&[per_year=]&[places=]&[rounding=]](https://agent-helper.org/calc/compound?principal=1000&rate=5&years=10): Compound interest: future value. Parameters: principal: starting amount; rate: nominal annual rate in percent; years: duration in years; per_year?: compounding periods per year, or 'continuous'; places?: decimal places of the rounded result; rounding?: rounding rule - [/calc/loan?principal=&rate=&months=&[schedule=]&[places=]&[rounding=]](https://agent-helper.org/calc/loan?principal=250000&rate=4.5&months=360): Annuity loan: monthly payment and optional amortisation schedule. Parameters: principal: loan amount; rate: nominal annual interest rate in percent; months: number of monthly payments, 1-1200; schedule?: true to list every month; places?: decimal places of the rounded result; rounding?: rounding rule - [/calc/prime/{n}](https://agent-helper.org/calc/prime/2147483647): Whether an integer is prime (deterministic below 3.3e24). Parameters: n: integer up to 5000 digits - [/calc/factor/{n}](https://agent-helper.org/calc/factor/600851475143): Prime factorisation (trial division + Pollard-Brent rho). Parameters: n: positive integer up to 60 digits - [/calc/next-prime/{n}](https://agent-helper.org/calc/next-prime/1000000): Smallest prime greater than n. Parameters: n: integer - [/calc/prev-prime/{n}](https://agent-helper.org/calc/prev-prime/1000000): Largest prime smaller than n. Parameters: n: integer greater than 2 - [/calc/gcd?values=](https://agent-helper.org/calc/gcd?values=12,18,24): Greatest common divisor of integers. Parameters: values: comma-separated integers - [/calc/lcm?values=](https://agent-helper.org/calc/lcm?values=4,6,10): Least common multiple of integers. Parameters: values: comma-separated integers - [/calc/modpow?base=&exp=&mod=](https://agent-helper.org/calc/modpow?base=4&exp=13&mod=497): Modular exponentiation base^exp mod m. Parameters: base: integer; exp: integer (negative uses the modular inverse); mod: positive modulus - [/calc/modinv?a=&mod=](https://agent-helper.org/calc/modinv?a=3&mod=11): Modular multiplicative inverse. Parameters: a: integer; mod: positive modulus - [/calc/stats?values=&[stat=]&[precision=]](https://agent-helper.org/calc/stats?values=2,4,4,4,5,5,7,9): Descriptive statistics of a list of numbers. Parameters: values: comma-separated numbers; stat?: return only one statistic; precision?: significant digits for inexact results - [/calc/regression?x=&y=](https://agent-helper.org/calc/regression?x=1,2,3,4,5&y=2.1,3.9,6.2,7.8,10.1): Least-squares linear regression y = a*x + b. Parameters: x: comma-separated numbers; y: comma-separated numbers, same count as x ## convert: Length, mass, volume, temperature, pressure, energy, power, data, speed, area - [/convert/{value}/{from}/{to}?[precision=]](https://agent-helper.org/convert/10/km/mi): Convert a value between units (exact SI coefficients). Parameters: value: decimal number; from: unit symbol, e.g. km, lb, C, psi, MiB; units containing '/' need %2F or the query form; to: unit symbol; precision?: significant digits when the result does not terminate - [/convert?value=&from=&to=&[precision=]](https://agent-helper.org/convert?value=100&from=km/h&to=mph): Convert a value between units (query form, for units such as km/h). Parameters: value: decimal number; from: unit; to: unit; precision?: significant digits when the result does not terminate - [/convert/units](https://agent-helper.org/convert/units): Every supported unit by dimension, with aliases ## check: IBAN, ISBN, EAN, Luhn, VIN, UUID, ISIN, LEI, phone numbers, national identifiers - [/check/iban/{value}](https://agent-helper.org/check/iban/DE89370400440532013000): IBAN: country length and mod-97 check digits. Parameters: value: the IBAN to check; spaces and hyphens are ignored - [/check/bic/{value}](https://agent-helper.org/check/bic/DEUTDEFF500): BIC/SWIFT code structure (no check digit exists). Parameters: value: the BIC to check; spaces and hyphens are ignored - [/check/isbn/{value}](https://agent-helper.org/check/isbn/978-0-306-40615-7): ISBN-10 or ISBN-13 check digit, with conversion. Parameters: value: the ISBN to check; spaces and hyphens are ignored - [/check/ean/{value}](https://agent-helper.org/check/ean/4006381333931): EAN-8, UPC-A, EAN-13 or GTIN-14 check digit. Parameters: value: the EAN to check; spaces and hyphens are ignored - [/check/card/{value}](https://agent-helper.org/check/card/4111111111111111): Payment card number: Luhn check and brand by range (not stored). Parameters: value: the CARD to check; spaces and hyphens are ignored - [/check/luhn/{value}](https://agent-helper.org/check/luhn/79927398713): Generic Luhn (mod 10) check. Parameters: value: the LUHN to check; spaces and hyphens are ignored - [/check/imei/{value}](https://agent-helper.org/check/imei/490154203237518): IMEI Luhn check digit (or compute it for 14 digits). Parameters: value: the IMEI to check; spaces and hyphens are ignored - [/check/vin/{value}](https://agent-helper.org/check/vin/1M8GDM9AXKP042788): Vehicle identification number: characters and check digit. Parameters: value: the VIN to check; spaces and hyphens are ignored - [/check/vat/{value}](https://agent-helper.org/check/vat/DE123456789): EU VAT number format by country (no registry lookup). Parameters: value: the VAT to check; spaces and hyphens are ignored - [/check/inn/{value}](https://agent-helper.org/check/inn/7707083893): Russian ИНН (INN) check digits, 10 or 12 digits. Parameters: value: the INN to check; spaces and hyphens are ignored - [/check/snils/{value}](https://agent-helper.org/check/snils/112-233-445%2095): Russian СНИЛС (SNILS) check number. Parameters: value: the SNILS to check; spaces and hyphens are ignored - [/check/ogrn/{value}](https://agent-helper.org/check/ogrn/1027700132195): Russian ОГРН / ОГРНИП check digit. Parameters: value: the OGRN to check; spaces and hyphens are ignored - [/check/kpp/{value}](https://agent-helper.org/check/kpp/773601001): Russian КПП (KPP) structure. Parameters: value: the KPP to check; spaces and hyphens are ignored - [/check/uuid/{value}](https://agent-helper.org/check/uuid/01890a5d-ac96-774b-bcce-b302099a8057): UUID layout, version, variant and embedded timestamp. Parameters: value: the UUID to check; spaces and hyphens are ignored - [/check/isin/{value}](https://agent-helper.org/check/isin/US0378331005): ISIN check digit (Luhn over expanded letters). Parameters: value: the ISIN to check; spaces and hyphens are ignored - [/check/lei/{value}](https://agent-helper.org/check/lei/5493001KJTIIGC8Y1R12): Legal Entity Identifier mod-97 check digits. Parameters: value: the LEI to check; spaces and hyphens are ignored - [/check/mac/{value}](https://agent-helper.org/check/mac/00:1A:2B:3C:4D:5E): MAC address format, unicast/multicast and local/universal bits. Parameters: value: the MAC to check; spaces and hyphens are ignored - [/check/phone/{value}?[region=]](https://agent-helper.org/check/phone/+14155552671): Telephone number against the numbering plan: validity, type, E.164. Parameters: value: number, ideally international (+CC...); '+' may be written literally in the path; region?: ISO 3166 alpha-2 country for numbers written without +CC ## encode: base64/32/58, hex, URL, punycode, hashes, HMAC - [/encode/base64?[text=]&[hex=]&[b64=]](https://agent-helper.org/encode/base64?text=hello%20world): Encode bytes as RFC 4648 base64, standard alphabet, with padding. Parameters: text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally) - [/encode/base64url?[text=]&[hex=]&[b64=]&[padding=]](https://agent-helper.org/encode/base64url?text=hello%20world): Encode bytes as RFC 4648 base64url (-_ alphabet). Parameters: text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); padding?: include '=' padding - [/encode/base32?[text=]&[hex=]&[b64=]&[padding=]](https://agent-helper.org/encode/base32?text=hello%20world): Encode bytes as RFC 4648 base32. Parameters: text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); padding?: include '=' padding - [/encode/base58?[text=]&[hex=]&[b64=]](https://agent-helper.org/encode/base58?text=hello%20world): Encode bytes as base58, Bitcoin alphabet, no checksum. Parameters: text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally) - [/encode/hex?[text=]&[hex=]&[b64=]](https://agent-helper.org/encode/hex?text=hello%20world): Encode bytes as lowercase hexadecimal. Parameters: text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally) - [/decode/base64?value=](https://agent-helper.org/decode/base64?value=aGVsbG8gd29ybGQ=): Decode base64 (standard or URL-safe, padding optional) to text (or hex if not UTF-8). Parameters: value: base64 string - [/decode/base64url?value=](https://agent-helper.org/decode/base64url?value=aGVsbG8gd29ybGQ): Decode base64url to text (or hex if not UTF-8). Parameters: value: base64url string - [/decode/base32?value=](https://agent-helper.org/decode/base32?value=NBSWY3DPEB3W64TMMQ======): Decode base32 to text (or hex if not UTF-8). Parameters: value: base32 string - [/decode/base58?value=](https://agent-helper.org/decode/base58?value=StV1DL6CwTryKyV): Decode base58 (Bitcoin alphabet) to text (or hex if not UTF-8). Parameters: value: base58 string - [/decode/hex?value=](https://agent-helper.org/decode/hex?value=68656c6c6f20776f726c64): Decode hex to text (or hex if not UTF-8). Parameters: value: hex string - [/encode/url?text=&[mode=]](https://agent-helper.org/encode/url?text=a%20b%26c%2Fd%3F%C3%A9): Percent-encode text (RFC 3986), stating which characters stay unencoded. Parameters: text: text to encode; mode?: component (encode everything but A-Z a-z 0-9 -._~), path (also keep /), form (space becomes +) - [/decode/url?value=&[plus=]](https://agent-helper.org/decode/url?value=caf%25C3%25A9%2520au%2520lait): Decode percent-encoding. Parameters: value: percent-encoded text; to pass it here, encode it once more (%25 for %); plus?: treat + as space (form encoding) - [/encode/punycode?domain=](https://agent-helper.org/encode/punycode?domain=b%C3%BCcher.example): Internationalised domain name to ASCII (IDNA 2008 / punycode). Parameters: domain: Unicode domain name - [/decode/punycode?domain=](https://agent-helper.org/decode/punycode?domain=xn--bcher-kva.example): ASCII (xn--) domain name to Unicode. Parameters: domain: ASCII domain with xn-- labels - [/encode/hash/{alg}?[text=]&[hex=]&[b64=]&[output=]](https://agent-helper.org/encode/hash/sha256?text=hello): Hash digest: md5, sha1, sha256, sha512, sha3, blake2, blake3, crc32.... Parameters: alg: one of md5, sha1, sha224, sha256, sha384, sha512, sha3-256, sha3-512, blake2b, blake2s, blake3, crc32, adler32; text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); output?: hex (default) or base64 - [/encode/hmac/{alg}?key=&[text=]&[hex=]&[b64=]&[output=]](https://agent-helper.org/encode/hmac/sha256?text=message&key=secret): HMAC of a message with a key. Parameters: alg: one of sha1, sha256, sha384, sha512, sha3-256, md5; text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); key: key as UTF-8 text; output?: hex (default) or base64 - [/encode/hmac/{alg}/verify?key=&signature=&[text=]&[hex=]&[b64=]](https://agent-helper.org/encode/hmac/sha256/verify?text=message&key=secret&signature=8b5f48702995c1598c573db1e21866a9b825d4a794d169d7060a03605796360b): Check an HMAC signature (constant-time comparison). Parameters: alg: one of sha1, sha256, sha384, sha512, sha3-256, md5; text?: input as UTF-8 text (in a URL write '+' as %2B, space as %20); hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); key: key as UTF-8 text; signature: expected HMAC, hex or base64 - [/decode/jwt?token=](https://agent-helper.org/decode/jwt?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwiaWF0IjoxNTE2MjM5MDIyfQ.sig): Decode a JWT header and payload (signature NOT verified). Parameters: token: JSON Web Token ## format: JSON, YAML, TOML, CSV validation and conversion, JSONPath, JSON Schema, diff, regex - [/format/json/validate?text=](https://agent-helper.org/format/json/validate?text=%7B%22a%22%3A%5B1%2C2%2C3%5D%7D): Validate JSON; errors give line, column and context. Parameters: text: JSON document (URL-encoded) - [/format/json/pretty?text=&[indent=]&[sort_keys=]](https://agent-helper.org/format/json/pretty?text=%7B%22b%22%3A1%2C%22a%22%3A%5B1%2C2%5D%7D&sort_keys=true): Pretty-print JSON. Parameters: text: JSON document (URL-encoded); indent?: spaces, 0-8; sort_keys?: sort object keys - [/format/json/minify?text=](https://agent-helper.org/format/json/minify?text=%7B%20%22a%22%20%3A%20%5B1%2C%202%5D%20%7D): Minify JSON. Parameters: text: JSON document (URL-encoded) - [/format/jsonpath?json=&path=](https://agent-helper.org/format/jsonpath?json=%7B%22items%22%3A%5B%7B%22n%22%3A%22a%22%2C%22qty%22%3A2%7D%2C%7B%22n%22%3A%22b%22%2C%22qty%22%3A0%7D%5D%7D&path=%24.items%5B%3F(%40.qty%20%3E%200)%5D.n): Query JSON with JSONPath (filters supported). Parameters: json: JSON document; path: JSONPath expression - [/format/json-schema?json=&schema=](https://agent-helper.org/format/json-schema?json=%7B%22age%22%3A-1%7D&schema=%7B%22type%22%3A%22object%22%2C%22properties%22%3A%7B%22age%22%3A%7B%22type%22%3A%22integer%22%2C%22minimum%22%3A0%7D%7D%7D): Validate a JSON document against a JSON Schema. Parameters: json: JSON document; schema: JSON Schema; draft from $schema, default 2020-12; remote $ref is never fetched - [/format/yaml/to-json?text=](https://agent-helper.org/format/yaml/to-json?text=a%3A%201%0Ab%3A%20%5Bx%2C%20y%5D): YAML to JSON (safe loader only). Parameters: text: YAML document - [/format/json/to-yaml?text=](https://agent-helper.org/format/json/to-yaml?text=%7B%22a%22%3A1%2C%22b%22%3A%5B%22x%22%2C%22y%22%5D%7D): JSON to YAML. Parameters: text: JSON document - [/format/toml/to-json?text=](https://agent-helper.org/format/toml/to-json?text=title%20%3D%20%22x%22%0A%5Bowner%5D%0Aname%20%3D%20%22y%22): TOML to JSON. Parameters: text: TOML document - [/format/json/to-toml?text=](https://agent-helper.org/format/json/to-toml?text=%7B%22title%22%3A%22x%22%2C%22owner%22%3A%7B%22name%22%3A%22y%22%7D%7D): JSON object to TOML. Parameters: text: JSON document - [/format/csv/to-json?text=&[delimiter=]&[header=]](https://agent-helper.org/format/csv/to-json?text=name%2Cqty%0Aapple%2C3%0Apear%2C5): CSV to JSON (header row becomes keys). Parameters: text: CSV document; delimiter?: field delimiter; detected if omitted; header?: first row is a header - [/format/json/to-csv?text=&[delimiter=]](https://agent-helper.org/format/json/to-csv?text=%5B%7B%22name%22%3A%22apple%22%2C%22qty%22%3A3%7D%2C%7B%22name%22%3A%22pear%22%2C%22qty%22%3A5%7D%5D): JSON array of objects to CSV. Parameters: text: JSON document; delimiter?: field delimiter - [/format/diff?a=&b=&[context=]](https://agent-helper.org/format/diff?a=one%0Atwo%0Athree&b=one%0A2%0Athree): Unified diff of two texts. Parameters: a: original text; b: changed text; context?: context lines, 0-20 - [/format/regex/test?pattern=&text=&[flags=]&[limit=]](https://agent-helper.org/format/regex/test?pattern=(%5Cd%7B4%7D)-(%5Cd%7B2%7D)&text=from%202026-09%20to%202027-01): Run a regular expression over text on the RE2 engine: matches, positions, groups. Parameters: pattern: regular expression, RE2 syntax (no backreferences, no lookaround: they are what makes backtracking catastrophic); text: text to search; flags?: any of i m s U; limit?: maximum matches, 1-1000 ## text: Unicode normalisation, codepoints, invisible and confusable characters, transliteration - [/text/normalize?text=&form=](https://agent-helper.org/text/normalize?text=%EF%AC%81%20cafe%CC%81&form=NFKC): Unicode normalisation NFC, NFD, NFKC or NFKD. Parameters: text: text; form: NFC, NFD, NFKC or NFKD - [/text/codepoints?text=](https://agent-helper.org/text/codepoints?text=A%20e%CC%81%20%F0%9F%98%80): Every character with code point, name and category. Parameters: text: text, up to 500 characters - [/text/char/{char}](https://agent-helper.org/text/char/U+1F600): Properties of one character (by U+XXXX, hex, or the character itself). Parameters: char: U+1F600, 1F600, or a single character - [/text/invisible?text=](https://agent-helper.org/text/invisible?text=pay%E2%80%8Bpal%E2%80%AEtxt.exe): Find invisible, bidi-control, tag and non-standard space characters. Parameters: text: text - [/text/confusables?text=](https://agent-helper.org/text/confusables?text=p%D0%B0ypal): Characters that look like others (homoglyphs) and mixed scripts. Parameters: text: text, e.g. a domain or username - [/text/confusable?a=&b=](https://agent-helper.org/text/confusable?a=paypal&b=p%D0%B0ypal): Whether two strings are visually confusable (same UTS #39 skeleton). Parameters: a: first string; b: second string - [/text/length?text=](https://agent-helper.org/text/length?text=%F0%9F%91%A9%E2%80%8D%F0%9F%91%A9%E2%80%8D%F0%9F%91%A7%20e%CC%81): Length in code points, grapheme clusters, UTF-8 bytes and UTF-16 units. Parameters: text: text - [/text/translit?text=&system=](https://agent-helper.org/text/translit?text=%D0%A9%D1%83%D0%BA%D0%B8%D0%BD%20%D0%AE%D1%80%D0%B8%D0%B9&system=passport): Transliterate Cyrillic to Latin: ISO 9, GOST 7.79 B, Russian passport. Parameters: text: text; system: iso9, gost-b or passport - [/text/slug?text=&[translit=]&[separator=]&[max_length=]](https://agent-helper.org/text/slug?text=%D0%9F%D1%80%D0%B8%D0%B2%D0%B5%D1%82%2C%20%D0%BC%D0%B8%D1%80!%20Caf%C3%A9): URL slug from text, with explicit transliteration. Parameters: text: text; translit?: iso9, gost-b, passport or none; separator?: separator; max_length?: 0 for no limit - [/text/detect-encoding?[hex=]&[b64=]](https://agent-helper.org/text/detect-encoding?hex=cff0e8e2e5f220ece8f02c20fdf2ee20f2e5f1f220eaeee4e8f0eee2eae8): Guess the character encoding of bytes (charset-normalizer). Parameters: hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally) - [/text/transcode?from=&[hex=]&[b64=]&[to=]](https://agent-helper.org/text/transcode?hex=cff0e8e2e5f2&from=cp1251): Convert bytes from one encoding to another (result as base64 and text preview). Parameters: hex?: input bytes as hex, instead of text; b64?: input bytes as base64, instead of text ('+' is kept literally); from: source encoding, e.g. cp1251; to?: target encoding ## net: CIDR arithmetic, IP classification, URL parsing, registrable domain, user agents - [/net/ip/{ip}](https://agent-helper.org/net/ip/192.168.1.10): Classify an IP address: normal forms, special-purpose block (IANA), mapped forms. Parameters: ip: IPv4 or IPv6 address - [/net/cidr/{prefix:path}](https://agent-helper.org/net/cidr/10.1.2.3/20): Prefix arithmetic: network, mask, broadcast, first/last host, size. Parameters: prefix: address/length, e.g. 10.1.2.3/20 or 2001:db8::/48 - [/net/contains?a=&b=](https://agent-helper.org/net/contains?a=10.0.0.0/8&b=10.20.0.0/16): Relation between two prefixes or a prefix and an address: equal, contains, inside, disjoint. Parameters: a: prefix or address; b: prefix or address - [/net/aggregate?prefixes=](https://agent-helper.org/net/aggregate?prefixes=10.0.0.0/24,10.0.1.0/24,10.0.2.0/23,192.168.1.1): Merge a list of prefixes into the fewest covering prefixes. Parameters: prefixes: comma-separated prefixes or addresses - [/net/subnets/{prefix:path}?length=](https://agent-helper.org/net/subnets/10.0.0.0/22?length=24): Split a prefix into subnets of a given length. Parameters: prefix: prefix to split; length: new prefix length - [/net/range?start=&end=](https://agent-helper.org/net/range?start=192.168.0.10&end=192.168.0.40): Convert an address range to the minimal list of prefixes. Parameters: start: first address; end: last address - [/net/url?url=](https://agent-helper.org/net/url?url=HTTPS%3A%2F%2FUser%40Example.COM%3A443%2Fa%2F.%2Fb%2F..%2Fc%3Fx%3D1%26y%3D%257e%23frag): Parse and normalise a URL (RFC 3986) without fetching it. Parameters: url: absolute URL (URL-encode it once when passing it here) - [/net/domain/{host}](https://agent-helper.org/net/domain/www.bbc.co.uk): Registrable domain and public suffix (Public Suffix List), TLD validity. Parameters: host: host name - [/net/useragent?[ua=]](https://agent-helper.org/net/useragent?ua=Mozilla%2F5.0%20(Windows%20NT%2010.0%3B%20Win64%3B%20x64)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%2F140.0.0.0%20Safari%2F537.36): Parse a User-Agent string (yours if ua= is omitted), including AI agents and HTTP libraries. Parameters: ua?: User-Agent string; defaults to the one your client sent ## random: UUID v4 and v7, integers, choices, passwords, bytes (CSPRNG, never cached) - [/random/uuid?[count=]](https://agent-helper.org/random/uuid): Random UUID version 4. Parameters: count?: how many, 1-1000 - [/random/uuid/v7?[count=]](https://agent-helper.org/random/uuid/v7): UUID version 7: sortable by creation time (Unix ms) plus 74 random bits. Parameters: count?: how many, 1-1000 - [/random/int?min=&max=&[count=]](https://agent-helper.org/random/int?min=1&max=6): Uniform random integers in an inclusive range (no modulo bias). Parameters: min: lowest value, inclusive; max: highest value, inclusive; count?: how many, 1-1000 - [/random/choice?items=&[count=]](https://agent-helper.org/random/choice?items=red,green,blue): Pick items from a list, with replacement. Parameters: items: comma-separated items; count?: how many, 1-1000 - [/random/sample?items=&count=](https://agent-helper.org/random/sample?items=a,b,c,d,e&count=2): Pick distinct items from a list, without replacement. Parameters: items: comma-separated items; count: how many distinct items - [/random/shuffle?items=](https://agent-helper.org/random/shuffle?items=1,2,3,4,5): Random permutation of a list. Parameters: items: comma-separated items - [/random/password?[length=]&[symbols=]&[ambiguous=]&[count=]](https://agent-helper.org/random/password): Random password with stated entropy. Parameters: length?: characters, 4-256; symbols?: include punctuation; ambiguous?: include look-alike characters Il1O0o; count?: how many, 1-1000 - [/random/passphrase?[words=]&[separator=]&[count=]](https://agent-helper.org/random/passphrase): Diceware-style passphrase from the EFF large wordlist. Parameters: words?: number of words, 3-20; separator?: separator; count?: how many, 1-1000 - [/random/bytes?[n=]&[output=]](https://agent-helper.org/random/bytes): Random bytes as hex or base64. Parameters: n?: number of bytes, 1-4096; output?: hex, base64 or base64url ## geo: Great-circle distance, bearing, destination, coordinate formats, geohash, UTM, MGRS - [/geo/distance?from=&to=&[unit=]](https://agent-helper.org/geo/distance?from=55.7558,37.6173&to=40.7128,-74.0060): Distance between two points on the WGS84 ellipsoid (Karney), plus spherical estimate. Parameters: from: latitude,longitude; to: latitude,longitude; unit?: m, km, mi, nmi or ft - [/geo/bearing?from=&to=](https://agent-helper.org/geo/bearing?from=51.5074,-0.1278&to=48.8566,2.3522): Initial and final bearing (azimuth) from one point to another. Parameters: from: latitude,longitude; to: latitude,longitude - [/geo/destination?from=&bearing=&distance=&[unit=]](https://agent-helper.org/geo/destination?from=55.7558,37.6173&bearing=90&distance=100): Point reached from a start point, bearing and distance (direct geodesic problem). Parameters: from: latitude,longitude; bearing: degrees clockwise from true north; distance: distance; unit?: m, km, mi, nmi or ft - [/geo/midpoint?from=&to=](https://agent-helper.org/geo/midpoint?from=55.7558,37.6173&to=59.9343,30.3351): Midpoint of the geodesic between two points. Parameters: from: latitude,longitude; to: latitude,longitude - [/geo/dms?point=](https://agent-helper.org/geo/dms?point=55.7558,37.6173): Decimal degrees to degrees, minutes, seconds. Parameters: point: latitude,longitude in decimal degrees - [/geo/decimal?lat=&lon=](https://agent-helper.org/geo/decimal?lat=55%C2%B045'20.9%22N&lon=37%C2%B037'02.3%22E): Degrees-minutes-seconds text to decimal degrees. Parameters: lat: latitude, e.g. 55°45'20.9"N; lon: longitude, e.g. 37°37'02.3"E - [/geo/geohash?point=&[precision=]](https://agent-helper.org/geo/geohash?point=57.64911,10.40744&precision=11): Encode a point as a geohash. Parameters: point: latitude,longitude; precision?: characters, 1-12 - [/geo/geohash/{hash}](https://agent-helper.org/geo/geohash/u4pruydqqvj): Decode a geohash to its cell centre and size. Parameters: hash: geohash - [/geo/utm?point=](https://agent-helper.org/geo/utm?point=55.7558,37.6173): Latitude/longitude to UTM zone, easting, northing (WGS84). Parameters: point: latitude,longitude - [/geo/mgrs?point=&[precision=]](https://agent-helper.org/geo/mgrs?point=55.7558,37.6173): Latitude/longitude to an MGRS grid reference. Parameters: point: latitude,longitude; precision?: digits per axis 0-5 (5 = 1 m) - [/geo/mgrs/{code}](https://agent-helper.org/geo/mgrs/37UDB1322479766): MGRS grid reference to latitude/longitude (south-west corner of the square). Parameters: code: MGRS reference ## sky: Sunrise, sunset, twilight, moon phase, equinoxes, satellite positions - computed, not looked up - [/sky/sun?point=&tz=&[date=]&[event=]](https://agent-helper.org/sky/sun?point=55.7558,37.6173&tz=Europe/Moscow&date=2026-09-15): Sunrise, sunset, solar noon, day length and twilights for a place and date. Parameters: point: latitude,longitude in decimal degrees; tz: IANA timezone for the output; required because 'the date' and the times depend on it; date?: local date YYYY-MM-DD (default: today in tz); event?: return one value only - [/sky/moon?tz=&[date=]&[point=]](https://agent-helper.org/sky/moon?tz=Europe/Berlin&date=2026-09-15): Moon phase, illumination, next principal phases; moonrise/moonset if a place is given. Parameters: tz: IANA timezone for the output; date?: local date YYYY-MM-DD (default: now); point?: latitude,longitude for moonrise and moonset - [/sky/seasons/{year}?[tz=]](https://agent-helper.org/sky/seasons/2026): Instants of the equinoxes and solstices of a year. Parameters: year: year 1000-3000; tz?: optional IANA timezone for the output (default UTC) - [/sky/satellite/{id}?[at=]](https://agent-helper.org/sky/satellite/iss): Current (or given) position of a satellite from its latest TLE, via SGP4. Parameters: id: NORAD catalogue number or iss, css, hubble; at?: ISO 8601 instant with offset (default: now) - [/sky/satellites](https://agent-helper.org/sky/satellites): Satellites whose element sets are mirrored here ## fx: Currency reference rates (ECB) and official rates (Bank of Russia) - [/fx/{base}/{quote}?[source=]&[date=]&[amount=]](https://agent-helper.org/fx/eur/usd): Exchange rate for a currency pair, with the publishing central bank and date. Parameters: base: ISO 4217 code, e.g. EUR; quote: ISO 4217 code, e.g. USD; source?: ecb (reference rates, default) or cbr (Bank of Russia official rates); date?: YYYY-MM-DD; default: the latest rate in effect today; amount?: optional amount of base to convert - [/fx/rates?[source=]&[date=]&[base=]](https://agent-helper.org/fx/rates): All rates from one central bank for a date. Parameters: source?: ecb (reference rates, default) or cbr (Bank of Russia official rates); date?: YYYY-MM-DD; default: the latest rate in effect today; base?: express rates per 1 unit of this currency (default EUR for ecb, RUB for cbr) - [/fx/currencies?[source=]](https://agent-helper.org/fx/currencies): Currencies each central bank publishes. Parameters: source?: ecb (reference rates, default) or cbr (Bank of Russia official rates) ## holidays: Public holidays and business days by country - [/holidays/{country}/{when}?[region=]&[weekend=]](https://agent-helper.org/holidays/de/2026): Public holidays of a year (when=2026) or the status of one date (when=2026-12-25). Parameters: country: ISO 3166-1 alpha-2 code; when: year YYYY, or date YYYY-MM-DD; region?: ISO 3166-2 subdivision to include regional holidays, e.g. DE-BY; weekend?: override weekend days, e.g. fri,sat - [/holidays/{country}/next?[after=]&[tz=]&[count=]&[region=]](https://agent-helper.org/holidays/fr/next?after=2026-09-15): Next public holidays after a date. Parameters: country: ISO 3166-1 alpha-2 code; after?: date YYYY-MM-DD (exclusive); or give tz= to mean today there; tz?: IANA timezone defining today; count?: 1-50; region?: ISO 3166-2 subdivision to include regional holidays, e.g. DE-BY - [/holidays/countries](https://agent-helper.org/holidays/countries): Countries with holiday data ## ref: Country, currency, language, timezone, TLD, port, media type, HTTP and constant tables - [/ref/country/{code}](https://agent-helper.org/ref/country/de): Country by ISO 3166-1 code or name: codes, official name, calling code, timezones, currency. Parameters: code: alpha-2, alpha-3, numeric code or English name - [/ref/subdivisions/{country}](https://agent-helper.org/ref/subdivisions/de): ISO 3166-2 subdivisions of a country. Parameters: country: alpha-2 code - [/ref/currency/{code}](https://agent-helper.org/ref/currency/jpy): ISO 4217 currency: name, numeric code, minor units. Parameters: code: ISO 4217 alphabetic code - [/ref/language/{code}](https://agent-helper.org/ref/language/ru): Language by ISO 639-1, 639-2/3 code or English name. Parameters: code: ISO 639 code or name - [/ref/timezone/{name:path}](https://agent-helper.org/ref/timezone/America/New_York): Timezone: current offset, DST state, next transition, countries. Parameters: name: IANA name, e.g. America/New_York - [/ref/timezones?[country=]](https://agent-helper.org/ref/timezones?country=us): IANA timezone names, optionally for one country. Parameters: country?: alpha-2 country code - [/ref/tld/{tld}](https://agent-helper.org/ref/tld/dev): Whether a top-level domain exists in the IANA root zone. Parameters: tld: TLD with or without dot, Unicode or xn-- - [/ref/port/{port}](https://agent-helper.org/ref/port/5432): IANA service names registered for a port number. Parameters: port: 0-65535 - [/ref/service/{name}](https://agent-helper.org/ref/service/postgresql): Ports registered for a service name. Parameters: name: service name, e.g. postgresql - [/ref/media-type/{type}/{subtype}](https://agent-helper.org/ref/media-type/application/json): Whether a media type is registered with IANA, and its reference. Parameters: type: top-level type; subtype: subtype - [/ref/http-status/{code}](https://agent-helper.org/ref/http-status/422): HTTP status code meaning and defining document. Parameters: code: 100-599 - [/ref/http-header/{name}](https://agent-helper.org/ref/http-header/cache-control): HTTP field (header) name: registration status and specification. Parameters: name: field name - [/ref/constant/{name}](https://agent-helper.org/ref/constant/G): Physical constant (CODATA via NIST): value, uncertainty, unit. Parameters: name: name or symbol: c, h, hbar, G, k, e, NA, me, alpha, or words like 'electron mass' - [/ref/airport/{code}](https://agent-helper.org/ref/airport/svo): Airport by IATA (3 letters) or ICAO (4 letters) code. Parameters: code: IATA or ICAO code ## feed: Earthquakes, space weather - [/feed/earthquakes?[period=]&[min_magnitude=]&[near=]&[radius_km=]&[limit=]](https://agent-helper.org/feed/earthquakes?min_magnitude=4.5): Recent earthquakes, newest first (USGS). Parameters: period?: hour, day, week or month; min_magnitude?: minimum magnitude; near?: latitude,longitude to filter around; radius_km?: radius for near=; limit?: maximum lines, 1-500 - [/feed/earthquakes/latest?[period=]&[min_magnitude=]&[near=]&[radius_km=]](https://agent-helper.org/feed/earthquakes/latest?min_magnitude=5): The most recent earthquake matching a filter. Parameters: period?: hour, day, week or month; min_magnitude?: minimum magnitude; near?: latitude,longitude to filter around; radius_km?: radius for near= - [/feed/earthquakes/strongest?[period=]&[min_magnitude=]&[near=]&[radius_km=]](https://agent-helper.org/feed/earthquakes/strongest?period=week): The strongest earthquake in a period. Parameters: period?: hour, day, week or month; min_magnitude?: minimum magnitude; near?: latitude,longitude to filter around; radius_km?: radius for near= - [/feed/space-weather](https://agent-helper.org/feed/space-weather): Space weather now: Kp index, NOAA scales, solar wind, latest X-ray flare - [/feed/space-weather/kp?[hours=]](https://agent-helper.org/feed/space-weather/kp): Planetary K-index, observed for the last days. Parameters: hours?: how far back, 3-168 - [/feed/space-weather/forecast](https://agent-helper.org/feed/space-weather/forecast): 3-day Kp forecast and NOAA R/S/G scale probabilities - [/feed/space-weather/solar-wind](https://agent-helper.org/feed/space-weather/solar-wind): Real-time solar wind at L1: speed, density, temperature, magnetic field - [/feed/space-weather/flares](https://agent-helper.org/feed/space-weather/flares): Latest solar X-ray flare (GOES) ## self: Your request, your egress address, your client's capabilities - [/mirror](https://agent-helper.org/mirror): Your request as received: method, path, protocol, headers, TLS - [/ip](https://agent-helper.org/ip): Your egress address, its network (ASN) and registration country, and a humble agent/human guess - [/probe/redirect?[hops=]&[code=]&[location=]](https://agent-helper.org/probe/redirect): Start a chain of redirects to see whether and how far your client follows them. Parameters: hops?: chain length 1-20; code?: redirect status; location?: absolute or relative Location header - [/probe/redirect/{n}?of=&[code=]&[location=]](https://agent-helper.org/probe/redirect/5?of=5): One step of the redirect chain; the last step reports how many were followed. Parameters: n: step number; of: chain length; code?: redirect status; location?: absolute or relative - [/probe/js](https://agent-helper.org/probe/js): HTML page that reports whether your client executes JavaScript (the only HTML on this service) - [/probe/js/beacon?token=](https://agent-helper.org/probe/js/beacon?token=0123456789abcdef): Called by the script on /probe/js when JavaScript runs. Parameters: token: token from /probe/js - [/probe/js/result?token=](https://agent-helper.org/probe/js/result?token=0123456789abcdef): Whether the script of a /probe/js page load ran. Parameters: token: token shown on /probe/js - [/probe/cookie](https://agent-helper.org/probe/cookie): Sets one random cookie and reports whether your client sent it back (the only cookie on this service) - [/probe/encoding](https://agent-helper.org/probe/encoding): Which compression your client accepts; the reply is compressed with the best one we support - [/probe/chunked](https://agent-helper.org/probe/chunked): Body streamed in 5 chunks over one second; the last line says whether you got all of it - [/probe/urllen?[sent=]](https://agent-helper.org/probe/urllen): Length of the URL that reached us; append any path or query to test longer ones. Parameters: sent?: how many bytes you believe you sent, so the two numbers can be compared - [/probe/urllen/{padding:path}?[sent=]](https://agent-helper.org/probe/urllen/aaaaaaaaaa): Same as /probe/urllen with arbitrary padding in the path. Parameters: padding: anything; sent?: how many bytes you believe you sent ## test: Controlled responses for exercising your client - [/status/{code}?[retry_after=]](https://agent-helper.org/status/503?retry_after=30): Respond with the given HTTP status (200-599), with an explanatory body. Parameters: code: status 200-599; retry_after?: seconds for a Retry-After header (429, 503) - [/delay/{seconds}](https://agent-helper.org/delay/2.5): Respond after a delay of up to 10 seconds. Parameters: seconds: 0-10, decimals allowed - [/size/{bytes}](https://agent-helper.org/size/1048576): Body of exactly N bytes (up to the 1 MB response cap), streamed with Content-Length. Parameters: bytes: 0-1048576 - [/broken/{kind}](https://agent-helper.org/broken/gzip): Deliberately malformed responses: bad gzip, truncated gzip, invalid UTF-8, invalid JSON, wrong type. Parameters: kind: one of gzip, gzip-truncated, charset, json, content-type ## Optional - [robots.txt](https://agent-helper.org/robots.txt): everything allowed - [sitemap.xml](https://agent-helper.org/sitemap.xml): static addresses