HTTP Request Sender – Bulk GET/POST API Calls to JSON
Pricing
from $0.60 / 1,000 request sents
HTTP Request Sender – Bulk GET/POST API Calls to JSON
Fire many HTTP requests and get status, headers and parsed JSON back. Supports methods, query params, JSON or raw body, and a secret auth header (masked in output). Blocks private IPs. $1 per 1,000 requests; failed requests are free.
Pricing
from $0.60 / 1,000 request sents
Rating
0.0
(0)
Developer
Chris Elder
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
HTTP Request Sender – Send HTTP Requests & Bulk REST API Calls (GET, POST, PUT, PATCH, DELETE)
HTTP Request Sender sends HTTP requests to any REST API, webhook or URL and returns clean, structured results: status code, parsed JSON (or text/base64), response headers, redirect chain and timing. Send one request – perfect for Clay, Make, n8n, Zapier and AI agents that need "call this API" as a step – or thousands in bulk with rate limiting, retries and per-request labels.
No code, no server, no plan upgrade needed in your no-code tool: it is the missing "HTTP API" block, at $1 per 1,000 requests – 5× cheaper than the most-used HTTP request Actor on the Apify Store, which lists $0.005 per request (checked 13 Oct 2026).
Store page: apify.com/chris_elder/http-request-sender
✅ Pay per result: $1 per 1,000 requests · 🆓 Timeouts, connection errors and blocked requests are never charged · 🔑 Your API key stays encrypted
▶ How to use it · 📄 Real example output · 💲 Pricing · 🔌 API & integrations · ❓ FAQ · 🛟 Support
Features
- 🔧 All methods – GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS
- 📦 JSON bodies (Content-Type set automatically), raw bodies (form data, XML), query parameters (arrays → repeated params)
- 🔐 Secret auth header – put your API key in an encrypted input field; it's never logged, shown as
***in results and never forwarded to another domain on redirects - 📚 Bulk mode – a list of requests (URL strings or full objects with their own method, headers, body and
label) with common headers/params merged in - 🔁 Reliable – retries with exponential back-off on network errors, 429 and 5xx, honours
Retry-After; POST/PATCH are not retried unless you allow it (no accidental double orders) - 🐢 Rate limiting – parallelism cap plus a per-host delay so you stay within the API's limits
- 🧾 Smart responses – JSON parsed into objects, text kept as text, binaries (images, PDFs) returned as base64; size cap with a
bodyTruncatedflag - ↪️ Redirect chains reported (or turn following off)
- 🚦 Optional fail the run on errors – great for automations that must stop when an API call fails
- 🛡️ Requests to private/internal network addresses are refused for safety
How much does it cost?
$0.001 per request that gets a response (any status code) – $1 per 1,000. No start fee. Higher Apify plans get automatic discounts (Silver $0.0008, Gold+ $0.0006).
Requests that time out, can't connect or are refused for safety are free.
| Usage | Price |
|---|---|
| 1 request (e.g. one Clay row) | $0.001 |
| 1,000 requests | $1 |
| 50,000 requests | $50 (Gold: $30) |
How to use it
Single request (Clay, Make, n8n, Zapier, agents)
{"url": "https://api.example.com/v1/companies","method": "POST","jsonBody": { "domain": "apify.com" },"secretHeaderName": "Authorization","secretHeaderValue": "Bearer sk_live_..."}
Bulk requests
{"url": "","headers": { "Accept": "application/json" },"requests": ["https://api.github.com/repos/apify/crawlee",{ "url": "https://httpbin.org/post", "method": "POST", "jsonBody": { "hello": "world" }, "label": "echo" },{ "url": "https://httpbin.org/get", "queryParams": { "q": "apify" } }],"maxConcurrency": 5,"delayBetweenRequestsMs": 200}
Bulk mode tip: omit url (or set it to "") and put everything in requests. Console "Try for free" still prefills a single httpbin URL so one-click Start works; API callers who send only requests are not charged for that sample.
Example: 2 requests in → 2 result rows out
| Request | Result row |
|---|---|
GET https://httpbin.org/get?q=apify | statusCode: 200, ok: true, body.args.q = "apify" |
POST https://httpbin.org/post with {"hello":"world"}, label echo | statusCode: 200, ok: true, body.json = {"hello":"world"}, label: "echo" |
Output example (from a real public run)
Public run data (no login needed): dataset JSON · dataset CSV
Second row (the POST), shortened with ...:
{"index": 1,"label": "echo","method": "POST","url": "https://httpbin.org/post","requestHeaders": { "content-type": "application/json" },"statusCode": 200,"ok": true,"finalUrl": "https://httpbin.org/post","redirectChain": [],"contentType": "application/json","responseBytes": 630,"bodyTruncated": false,"body": { "args": {}, "data": "{\"hello\":\"world\"}", "json": { "hello": "world" }, "url": "https://httpbin.org/post", "...": "..." },"bodyFormat": "json","durationMs": 211,"responseHeaders": { "content-type": "application/json", "...": "..." }}
When you use the secret header, its value is shown as *** in requestHeaders.
Failed requests appear with statusCode: null, an error message and an errorCode (e.g. TIMEOUT, ENOTFOUND) – and are not charged. A RUN_SUMMARY record counts responses, non-2xx answers and failures.
Using it from Clay
Add an Apify enrichment column, choose HTTP Request Sender, map the row's values into url, queryParams or jsonBody, and read body from the result. Each row costs $0.001.
Integrations (API, AI agents, Make, Zapier, n8n)
curl -X POST "https://api.apify.com/v2/acts/chris_elder~http-request-sender/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"url":"https://httpbin.org/post","method":"POST","jsonBody":{"hello":"world"}}'
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run = client.actor("chris_elder/http-request-sender").call(run_input={"url": "", # only use the bulk list"requests": [{"url": "https://httpbin.org/get", "queryParams": {"q": "apify"}}],})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row["statusCode"], row["body"])
MCP (AI agents): https://mcp.apify.com/?tools=chris_elder/http-request-sender
Make / Zapier / n8n: use the Apify Run Actor module with chris_elder/http-request-sender and read the dataset rows. Works with Apify schedules and webhooks.
Good to know
- Call only APIs and endpoints you are allowed to use, and respect their terms and rate limits. This Actor is a neutral HTTP client; it does not bypass authentication, CAPTCHAs or bot protection.
- Maximum response size per request is 8 MB (default 5 MB). For large downloads use a dedicated file downloader.
- The secret header is added to every request in the run – don't mix endpoints of different providers in one run if they need different keys.
FAQ
Can I send form data? Yes – put a=1&b=2 in Raw body and add the header Content-Type: application/x-www-form-urlencoded.
Does it support GraphQL? Yes – POST {"query": "...", "variables": {...}} as the JSON body.
Is my API key safe? The field is encrypted by Apify, never written to logs or results, and dropped on cross-domain redirects.
Can I call a webhook? Yes – POST your JSON to the webhook URL; the response comes back as a row.
Something missing? Open an issue on the Actor page.
Support, reliability and feature requests
- Requests that time out, can't connect or are refused for safety are free.
- Every release is tested on real public endpoints; the example input works.
- Issues answered within 2 business days via the Actor Issues tab.
- Breaking input or price changes are announced in this README first.
Built by Chris Elder with AI-assisted development; every release is reviewed and tested.
Need the data done for you?
If you'd rather not set up runs yourself, the UK company behind these tools (GPT Shop Ltd) offers a fixed-price done-for-you scrape. Tell us the website and the fields you need, and you get a clean CSV or Google Sheet within 48 hours of the confirmed brief, up to 5,000 rows, for £149 or $179. If we can't get the data, you're refunded in full. See the done-for-you scraper service
More tools by Chris Elder
Bulk File Downloader · Dataset Transformer · Sitemap URL Extractor · Bulk WHOIS Lookup · all tools