Bulk URL Status Checker & Redirect Audit avatar

Bulk URL Status Checker & Redirect Audit

Pricing

$1.00 / 1,000 url checkeds

Go to Apify Store
Bulk URL Status Checker & Redirect Audit

Bulk URL Status Checker & Redirect Audit

Check public URLs in bulk for HTTP status, redirect chains, response time, content type, title, canonical URL, robots directives, and safe error diagnostics.

Pricing

$1.00 / 1,000 url checkeds

Rating

0.0

(0)

Developer

Kunteper Koyu

Kunteper Koyu

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

15 hours ago

Last modified

Share

Check up to 1,000 public URLs per run for HTTP status, redirect chains, response time, content type, canonical tags, and robots directives. Use it as a bulk URL status checker, broken-link auditor, uptime diagnostic, or technical SEO input.

What you get

  • final URL and complete redirect chain
  • HTTP status, success state, and structured errors
  • total and per-hop response time
  • content type and declared content length
  • page title, canonical URL, and robots meta directives
  • one export-ready dataset row per checked URL

Common use cases

  • find 4xx/5xx pages and broken links after a migration
  • audit redirect chains, loops, and unexpected destinations
  • monitor landing pages, client sites, or partner links
  • validate sitemaps and content inventories in bulk
  • enrich SEO, QA, and observability dashboards

Quick start

  1. Click Try for free or Run.
  2. Paste public URLs into URLs.
  3. Keep Extract HTML signals on if you need title, canonical, and robots fields.
  4. Run the Actor and export the dataset as JSON, CSV, or XLSX.
{
"urls": ["https://example.com", "https://apify.com"],
"concurrency": 10,
"timeoutSeconds": 20,
"maxRedirects": 10,
"includeHtmlSignals": true
}

Example result

{
"inputUrl": "https://example.com",
"finalUrl": "https://example.com/",
"statusCode": 200,
"statusText": "OK",
"ok": true,
"redirectCount": 0,
"redirectChain": [{
"url": "https://example.com/",
"statusCode": 200,
"responseTimeMs": 74
}],
"responseTimeMs": 82,
"contentType": "text/html",
"title": "Example Domain",
"checkedAt": "2026-07-06T17:26:53.011Z"
}

Run by API

Set APIFY_TOKEN in your environment and keep it out of source control.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/rtworule~bulk-url-health-auditor/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"urls":["https://example.com"],"includeHtmlSignals":true}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('rtworule/bulk-url-health-auditor').call({
urls: ['https://example.com'],
includeHtmlSignals: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("rtworule/bulk-url-health-auditor").call(run_input={
"urls": ["https://example.com"],
"includeHtmlSignals": True,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Pricing

This Actor uses pay per event. A url-checked event costs $0.001 per stored result: 100 checked URLs cost $0.10 and 1,000 cost $1.00 in event charges. Apify applies a $0.01 minimum run charge. The Actor checks the run's maximum total charge before storing more paid results.

Integrations and automation

  • run on an Apify schedule for daily or weekly URL monitoring
  • send failed rows (ok: false) to Slack, email, Make, Zapier, or n8n
  • export results to Google Sheets, a BI tool, or a data warehouse
  • call from CI after a deployment or migration and fail the workflow on bad statuses
  • join results to sitemap, CRM, or content-inventory records by inputUrl

FAQ and troubleshooting

Does it render JavaScript? No. It performs HTTP diagnostics and reads a bounded static HTML sample. JavaScript-generated canonical or robots tags are not evaluated.

Why does the result differ from my browser? CDNs can vary responses by location, headers, cookies, or bot policy. The result reflects the Actor run at checkedAt.

Why was a URL rejected? Only public HTTP/HTTPS destinations are allowed. Credentials and private, local, reserved, or metadata-service addresses are blocked, including redirect targets.

Why did a URL time out? Increase timeoutSeconds, lower concurrency for the affected host, or verify the host accepts requests from Apify infrastructure.

Can I monitor changes? Yes. Schedule runs and compare statusCode, finalUrl, redirectCount, or responseTimeMs by inputUrl in your automation.

Responsible use, limitations, and support

The HTML sample is capped at 128 KiB. DNS is checked before every request, but application checks cannot eliminate every hostile DNS-rebinding scenario; the Actor is designed to run with Apify's limited permissions and platform protections. Only submit URLs you are permitted to access.

For unexpected results on a valid public URL, open an issue from the Actor page and include the run ID, URL, and expected status. Never post credentials or sensitive data.

More tools from this developer