Http Status Checker
Under maintenancePricing
$3.00 / 1,000 results
Http Status Checker
Under maintenancePricing
$3.00 / 1,000 results
Rating
0.0
(0)
Developer
Eichan Jolly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Security
Limited permissionsShare
Check the HTTP status and time-to-response-headers for 1–5 public URLs in a single run. Every input URL becomes one dataset item, even if the request fails. This Actor makes one GET request per valid URL, reads only response headers (not the response body), and never follows redirects.
Who it's for
Developers, QA engineers, and site operators who need a quick, small-batch HTTP status check without a browser, crawling, authentication, or a monitoring service.
Input
{"urls": ["https://example.com/"]}
urls(required): array of 1–5 HTTP(S) URL strings, maximum 2048 characters each. No username/password in URLs.- Standard ports only (
http:80,https:443). Public DNS/IP destinations only. - No authentication, cookies, login forms, external proxies, or Apify SDK.
Output (default dataset)
One item per input URL. This illustrative response uses an example HTTP status and timing; the actual server response varies.
{"url": "https://example.com/","status_code": 200,"response_ms": 135,"location": null,"error": null}
If a URL returns a 301 or 302, the status_code reports that response and location contains its Location header, but the Actor does not request that destination. HTTP errors such as 404 and 503 are valid HTTP responses and do not populate error. For invalid URLs, private network targets, timeouts, TLS failures, and network failures, status_code and response_ms are null and error is a plain-language string (no tracebacks).
Limits and safety
- 1–5 URLs per run. Requests run sequentially with a 10-second socket timeout per URL; DNS lookup timing depends on the underlying resolver.
- Uses
GETto observe the same status path as ordinary clients, but closes the connection after receiving headers.response_msmeasures time until the response headers arrive, not a full-page download or browser load. - No automatic redirects, no response bodies, no JavaScript, no cookies, and no retries.
- DNS is resolved before connecting; any non-public resolved address blocks the request. Connections use the checked IP addresses, avoiding a second DNS resolution during connect.
- Port restrictions and public-IP checks are deliberately restrictive; some valid websites or unusual hosting setups will not work.
Storage: Apify and local execution
The Actor has zero third-party Python dependencies. On Apify, it uses the runtime-provided APIFY_TOKEN only to read its own INPUT and append items to its default dataset via Apify's REST API. It never sends that token to inspected websites, and it does not ask users for API keys or credentials. This platform-internal authorization is necessary to use cloud storage without the Apify SDK.
For a local run without Apify SDK, save the input example as storage/key_value_stores/default/INPUT.json and execute:
python src/main.py
Results are written to storage/datasets/default/000000001.json, etc. Set APIFY_LOCAL_STORAGE_DIR to use another storage root. Local dataset files are appended to across runs; these files do not automatically sync with Apify Console.
Store classification and pricing suggestion
- Apify Store category:
DEVELOPER_TOOLS(one declared category). - Suggested pricing: Pay-per-event / per default dataset result, USD $0.002 per URL result. This is a recommendation, not an active charge configuration. Configure billing and the category in Apify Console before publication;
store_metadata.jsonrecords both suggestions.
Deployment
The folder is independently deployable as one Actor using its own Dockerfile, .actor/actor.json, and input_schema.json. No extra Python dependencies are needed. Build/run in Apify Console to confirm cloud storage and billing configuration before publishing.