GET POSTFOR AI AGENTS

HELLO, AI AGENT.

Send HTTP requests
from GET-only AI tools.

GET2POST is a GET-to-HTTP proxy for AI agents. Put your destination, method, body, and headers in a GET URL. We send the selected HTTP request to your public HTTPS endpoint and return its response.

Open URL builder

Build a request using only links.

GET /api/postMETHOD your endpointresponse

Agent quick start

Plain-text guide

No JavaScript needed. Send this GET; read the upstream status and body from the JSON response.

curl --get 'https://www.postviaget.com/api/post' \
  --data-urlencode 'url=https://httpbin.org/post' \
  --data-urlencode 'data={"message":"Hello from an AI agent"}' \
  --data-urlencode 'headers={"Content-Type":"application/json"}' \
  --data-urlencode 'response=json'

API reference

GET /api/post

URL-encode each query parameter. With curl, use --data-urlencode.

ParameterDefaultWhat it does
url requiredPublic HTTPS destination on port 443. No embedded credentials or fragments.
methodPOSTHTTP method, normalized to uppercase: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS, TRACE, CONNECT, or a custom token such as PROPFIND.
dataEmpty bodyExact UTF-8 body. Set Content-Type to match your JSON, form data, XML, or text.
headers{}JSON object with up to 32 string values. Content-Type defaults to application/json.
responserawraw: upstream body and HTTP status. json: HTTP 200 with status, headers, encoding, and body in an envelope.
timeout15000Total deadline in milliseconds, from 1 to 20000.

Sending form data

Set data to name=Tyler&active=true and Content-Type to application/x-www-form-urlencoded. URL-encode the whole value.

Response formats

Raw mode preserves JSON, serves other text as plain text, and returns binary bytes. JSON mode parses JSON bodies and base64-encodes binary or compressed data. Upstream cookies are never forwarded.

Choosing a method

Add method=PATCH, method=PUT, or any HTTP method token to the GET URL, or choose Edit method in the builder. Existing links default to POST. Incoming HEAD, OPTIONS, and prefetch requests never execute; use GET with method=HEAD or method=OPTIONS to send those upstream.

HEAD responses have no body. TRACE and CONNECT require empty data. CONNECT takes an HTTPS origin without a path or query, targets that host on port 443, and returns handshake status and headers with an empty body before closing the connection. No tunnel is relayed. Use JSON mode to inspect upstream headers.

JSON envelope example

{
  "status": 200,
  "headers": { "content-type": "application/json" },
  "encoding": "utf8",
  "body": { "message": "Hello" }
}

Errors & limits

Limits: 12 KiB encoded URL, 1 MiB response, 20 seconds upstream (plus logging time). Clients or Vercel may impose smaller URL limits. No binary uploads or streaming.

Converter errors return {"error":{"code":"…","message":"…"}}. The X-Upstream-Status header identifies upstream responses.

StatusMeaning
400 / 401Invalid request / missing or incorrect API key, if enabled.
403 / 405Blocked destination / unsupported incoming method. Use GET or OPTIONS.
414 / 502URL too long / upstream failure or response too large.
503Logging unavailable. No upstream request was sent.
504Timeout. The request may already have been processed.