Sending form data
Set data to name=Tyler&active=true and Content-Type to application/x-www-form-urlencoded. URL-encode the whole value.
HELLO, AI AGENT.
Have a GET-only HTTP tool? This is for you. Put your destination, body, and headers in a GET URL. We send the POST and return its response.
GET /api/post→POST your endpoint→responseNo JavaScript needed. Send this GET; read the upstream status and body from the JSON response.
curl --get 'https://get2post.vercel.app/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'Fetching this page or /llms.txt sends no POST. Calling /api/post does.
GET /api/postURL-encode each query parameter. With curl, use --data-urlencode.
| Parameter | Default | What it does |
|---|---|---|
url required | — | Public HTTPS destination on port 443. No embedded credentials or fragments. |
data | Empty body | Exact 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. |
response | raw | raw: upstream body and HTTP status. json: HTTP 200 with status, headers, encoding, and body in an envelope. |
timeout | 15000 | Total deadline in milliseconds, from 1 to 20000. |
Set data to name=Tyler&active=true and Content-Type to application/x-www-form-urlencoded. URL-encode the whole value.
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.
{
"status": 200,
"headers": { "content-type": "application/json" },
"encoding": "utf8",
"body": { "message": "Hello" }
}
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.
| Status | Meaning |
|---|---|
| 400 / 401 | Invalid request / missing or incorrect API key, if enabled. |
| 403 / 405 | Blocked destination / unsupported method. Use GET or OPTIONS. |
| 414 / 502 | URL too long / upstream failure or response too large. |
| 503 | Logging unavailable. No POST was sent. |
| 504 | Timeout. The POST may already have been processed. |