Simple trial-and-error library for testing which shipping provider a tracking number belongs to

0.2 2016-08-04 15:27 UTC


This is a PHP package for finding out, which shipping service provider a tracking ID belongs to. Since it's used for Germany the service providers available here are the main focus. Contributions are welcome!

It's theoretically possible that a tracking ID is valid at multiple providers. That's why you get an array back that could contain multiple trues.

Blog Article (German):

Supported Providers

How it works

  • Scraping the website, try to enter the tracking ID and see what happens OR
  • Checking the format of the tracking ID with regular expressions


Available via composer on Packagist:

composer require repat/shipping-service-providers-check


Check out src/ShippingServiceProvidersCheck/default_providers.php for configuration.

use repat\ShippingServiceProvidersCheck\Check;

$check = new Check($trackingId);

// checks all providers, returns an array like 
// [
//   "dhl" => true,
//   "gls" => false,
//    ...
// ]

// replacing providers or with your own providers, see below

// gets all available providers

Replacing providers and adding your own providers

If you want to add your own provider, you can provide checkAll() with an array like this. Any contributions are most welcome.

// online check
"SPO" => [
        'base_url' => "",
        'search_string' => 'This is the string that will be looked for',
        'filter' => 'HTML tag to look for',
// format check
"SPF" => [
        'regex' => '/[foo]{1}/'
// ...

It's a positive lookup, so you will get true if search_string was found in the HTML tag filter. For information on filters, see Goutte.

For documentation on regular expressions in PHP see preg_match.



  • 0.2 added regex for tracking ID recognition and amazon logistics as a provider
  • 0.1.1 adding your own providers
  • 0.1 fixed to working release (dhl, hermes, gls, ups)
  • 0.0.1 initial release for testing


Flattr this git repo