Library for checking if a given link is dead or alive

v1.8.3.5 2023-04-12 20:47 UTC


Maintainer: Cyberpower678

REQUIRES: PHP 7.3 or higher

This is a PHP library for detecting whether URLs on the internet are alive or dead via cURL. It includes the following features:

  • Supports HTTP, HTTPS, FTP, MMS, and RTSP URLs
  • Supports TOR
  • Supports internationalized domain names
  • Correctly reports soft 404s as dead (in most cases)
  • For optimized performance, it initially performs a header-only page request (CURLOPT_NOBODY). If that request fails, it then tries to do a normal full body page request.


Using composer: Add the following to the composer.json file for your project:

  "require": {
     "wikimedia/deadlinkchecker": "dev-master"

And then run 'composer update'.

Or using git:

$ git clone

Basic Usage

For checking a single link:
$deadLinkChecker = new checkIfDead();
$url = '';
$exec = $deadLinkChecker->isLinkDead( $url );
echo var_export( $exec );


For checking an array of links:
$deadLinkChecker = new checkIfDead();
$urls = [ '', '' ];
$exec = $deadLinkChecker->areLinksDead( $urls );
echo var_export( $exec );


array (
  '' => true,
  '' => false,

Note that these functions will return null if they are unable to determine whether a link is alive or dead.

Advanced Usage

You can control how long it takes before page requests timeout by passing parameters to the constructor. To set the header-only page requests to a 10 second timeout and the full page requests to a 20 second timeout, you would use the following:

$deadLinkChecker = new checkIfDead( 10, 20 );


This code is distributed under GNU GPLv3+