Gzip compress

FREE with proof-of-work · or $0.001 in USDC · POST /api/gzip

Compress a string with gzip (RFC 1952) and return it as base64. Send POST /api/gzip with the required field input and pay $0.001 per call over x402 or MPP, or call it free by solving a proof-of-work challenge. It returns a JSON object with algorithm, inputBytes, outputBytes, ratio and output.

Reports input bytes, output bytes, and the compression ratio so you can decide if it was worth doing. Input can be plain text (utf8) or already-binary content (base64 or hex).

Category: Live public data · Tags: gzip compress zlib rfc1952 encoding

TRY IN PLAYGROUND →

Parameters

NameTypeRequiredDescription
inputstringyesContent to compress (max 10MB after decoding) Also accepted as text, data, str, string, body, content.
inputFormatstringnoHow `input` is encoded: utf8 (default), base64, or hex
levelnumbernoCompression level 1-9 (default 9 = best ratio, slower)

Example request

curl -i -X POST https://agent402.tools/api/gzip \
  -H "Content-Type: application/json" \
  -d '{"input":"hello hello hello hello hello hello hello","inputFormat":"utf8"}'

Without payment this returns HTTP 402 Payment Required with the exact price for gzip; any x402 v2 or MPP client pays it and retries.

Example response

{
  "algorithm": "gzip",
  "inputBytes": 41,
  "outputBytes": 21,
  "ratio": 0.4878,
  "output": "H4sIAA…"
}
FieldTypeAlways presentIn the example
algorithmstringyesgzip
inputBytesnumberyes41
outputBytesnumberyes21
rationumberyes0.4878
outputstringyesH4sIAA…

From an MCP client

catalog.call {
  "slug": "gzip",
  "params": {
    "input": "hello hello hello hello hello hello hello",
    "inputFormat": "utf8"
  }
}

On the hosted connector at https://agent402.tools/mcp, catalog.call runs gzip free (rate-limited, no wallet). Local install: npx -y agent402-mcp.

Errors and behavior

Paid call (JavaScript agent)

import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client();
client.setSpendControls?.(false); // keep your own spending ceiling in code
registerExactEvmScheme(client, { signer: privateKeyToAccount(KEY) });
const payFetch = wrapFetchWithPayment(fetch, client);

const res = await payFetch("https://agent402.tools/api/gzip", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "input": "hello hello hello hello hello hello hello",
    "inputFormat": "utf8"
  }),
});

No wallet? Pay with compute

Fetch a challenge, solve the sha256 puzzle (16 leading zero bits, a fraction of a second of CPU), and resend with the X-Pow-Solution header:

import { createHash } from "node:crypto";
const lz = (b) => { let t = 0; for (const x of b) { if (!x) { t += 8; continue; } t += Math.clz32(x) - 24; break; } return t; };
const c = await (await fetch("https://agent402.tools/api/pow/challenge?slug=gzip")).json();
let n = 0;
while (lz(createHash("sha256").update(c.challenge + ":" + n).digest()) < c.difficulty) n++;
await fetch("https://agent402.tools/api/gzip", { method: "POST", headers: { "X-Pow-Solution": c.token + ":" + n, "Content-Type": "application/json" }, body: JSON.stringify({"input":"hello hello hello hello hello hello hello","inputFormat":"utf8"}) });

Related tools

Brotli compress

FREE w/ compute · or $0.001 · POST /api/brotli-compress

Compress a string with Brotli (RFC 7932) and return it as base64. Brotli typically beats gzip by 15-25% on text - useful…

Compression compare

FREE w/ compute · or $0.001 · POST /api/compress-compare

Run the same input through gzip, brotli, and raw deflate at max settings and report each one's output size and ratio. Us…

Gzip decompress

FREE w/ compute · or $0.001 · POST /api/gunzip

Decompress a base64-encoded gzip payload. Returns the result as utf8 (text) or base64 (binary). Refuses to expand past 1…

A2A Agent Card validate

FREE w/ compute · or $0.002 · POST /api/a2a-card-validate

Validate an A2A (Agent2Agent protocol) Agent Card: required fields, skill shape, transport names, capability flags - spe…

Amortization schedule

FREE w/ compute · or $0.001 · POST /api/amortization

Build the full per-period amortization schedule for a fully-amortizing loan. Each row reports the period number, payment…

Annuity present/future value

FREE w/ compute · or $0.001 · POST /api/annuity

Present and future value of a level annuity (equal periodic payments). Supports an ordinary annuity (payments at period …