[GET] Bulk DA Checker Using Free Moz API in PHP

ebiz101

Power Member
Joined
Feb 16, 2010
Messages
732
Reaction score
173
Register Moz, and get your Free API here :

https://moz.com/products/api/keys

Make sure to insert it into the code both accessID & secretKey


Code:
<?php
// Get your access id and secret key here: https://moz.com/products/api/keys
ob_start();
error_reporting(E_ALL ^ E_NOTICE);
set_time_limit(0);

if (!$_POST['linkcheck']) {

   echo "<h2>Bulk Domain Authority</h2><form method='POST'><textarea name='linkcheck' cols=100 rows=30></textarea><br><input type=submit></form>";
   exit;

}

$domains = explode("\n",trim($_POST['linkcheck']));

echo "<br><a href='http://moz.com' rel='nofollow'><img src='http://d2eeipcrcdle6.cloudfront.net/brand-guide/logos/moz_blue.png'></a><br>";
ob_flush(); flush();

$totdomain = count($domains);
for ($i=0;$i<$totdomain;$i=$i+10){
  $batchedDomains = array();
 
  for ($j=0;$j<10;$j++){
    $cur = $i + $j;
    $domain =  trim($domains[$cur]);
    array_push($batchedDomains,$domain);
  }
  get_da($batchedDomains,$i,$filenameda);    ob_flush(); flush();
  sleep(20);
  //exit;
}


function get_da($batchedDomains,$i,$filenameda){

   $accessID = 'mozscape-xxxxxxxxx';
    $secretKey = 'xxxxxxxxxxxxxxxxxx';
   

    $expires = time() + 300;
    //echo "<br>$expires<br>";

    // Put each parameter on a new line.
    $stringToSign = $accessID."\n".$expires;

    // Get the "raw" or binary output of the hmac hash.
    $binarySignature = hash_hmac('sha1', $stringToSign, $secretKey, true);

    // Base64-encode it and then url-encode that.
    $urlSafeSignature = urlencode(base64_encode($binarySignature));

    // Add up all the bit flags you want returned.
    // Learn more here: https://moz.com/help/guides/moz-api/mozscape/api-reference/url-metrics
    $cols = "103616137252";

    // Put it all together and you get your request URL.
    $requestUrl = "http://lsapi.seomoz.com/linkscape/url-metrics/?Cols=".$cols."&AccessID=".$accessID."&Expires=".$expires."&Signature=".$urlSafeSignature;

    // Put your URLS into an array and json_encode them.
    $encodedDomains = json_encode($batchedDomains);

    // Use Curl to send off your request.
    // Send your encoded list of domains through Curl's POSTFIELDS.
    $options = array(
       CURLOPT_RETURNTRANSFER => true,
       CURLOPT_POSTFIELDS     => $encodedDomains
       );

    $ch = curl_init($requestUrl);
    curl_setopt_array($ch, $options);
    $content = curl_exec($ch);
    curl_close( $ch );

    $contents = json_decode($content);
   $counter =0;
    foreach ($contents as $obj){
        $domain = $obj->uu;
        $da = $obj->pda;    $da = round($da,2);
        if ($domain == "") $domain = trim($batchedDomains[$counter]);
       if ($domain == "") exit;
        echo "$domain|$da<br>";
       ob_flush(); flush();
        $counter++;
    }

}

?>
 

ebiz101

Power Member
Joined
Feb 16, 2010
Messages
732
Reaction score
173
Lol.. never tried that much.. just using for like couple hundreds per run.. also the free API limiation that you need to have 10 sec delay between each request.. unless you create 10 Free API account and rotate them :) , you can go on without delays
 

ebiz101

Power Member
Joined
Feb 16, 2010
Messages
732
Reaction score
173
It would be a good option to check (pa) also

Thanks good idea.. below is the updated version

PHP:
<?php
// Get your access id and secret key here: https://moz.com/products/api/keys
ob_start();
error_reporting(E_ALL ^ E_NOTICE);
set_time_limit(0);

if (!$_POST['linkcheck']) {

   echo "<h2>Bulk Domain Authority</h2><form method='POST'><textarea name='linkcheck' cols=100 rows=30></textarea><br><input type=submit></form>";
   exit;

}

$domains = explode("\n",trim($_POST['linkcheck']));

echo "<br><a href='http://moz.com' rel='nofollow'><img src='http://d2eeipcrcdle6.cloudfront.net/brand-guide/logos/moz_blue.png'></a><br>";
ob_flush(); flush();

$totdomain = count($domains);
for ($i=0;$i<$totdomain;$i=$i+10){
  $batchedDomains = array();
 
  for ($j=0;$j<10;$j++){
    $cur = $i + $j;
    $domain =  trim($domains[$cur]);
    array_push($batchedDomains,$domain);
  }
  get_da($batchedDomains,$i,$filenameda);    ob_flush(); flush();
  sleep(20);
  //exit;
}


function get_da($batchedDomains,$i,$filenameda){

   $accessID = 'mozscape-xxxxxxxxx';
    $secretKey = 'xxxxxxxxxxxxxxxxxx';
  

    $expires = time() + 300;
    //echo "<br>$expires<br>";

    // Put each parameter on a new line.
    $stringToSign = $accessID."\n".$expires;

    // Get the "raw" or binary output of the hmac hash.
    $binarySignature = hash_hmac('sha1', $stringToSign, $secretKey, true);

    // Base64-encode it and then url-encode that.
    $urlSafeSignature = urlencode(base64_encode($binarySignature));

    // Add up all the bit flags you want returned.
    // Learn more here: https://moz.com/help/guides/moz-api/mozscape/api-reference/url-metrics
    $cols = "103616137252";

    // Put it all together and you get your request URL.
    $requestUrl = "http://lsapi.seomoz.com/linkscape/url-metrics/?Cols=".$cols."&AccessID=".$accessID."&Expires=".$expires."&Signature=".$urlSafeSignature;

    // Put your URLS into an array and json_encode them.
    $encodedDomains = json_encode($batchedDomains);

    // Use Curl to send off your request.
    // Send your encoded list of domains through Curl's POSTFIELDS.
    $options = array(
       CURLOPT_RETURNTRANSFER => true,
       CURLOPT_POSTFIELDS     => $encodedDomains
       );

    $ch = curl_init($requestUrl);
    curl_setopt_array($ch, $options);
    $content = curl_exec($ch);
    curl_close( $ch );

    $contents = json_decode($content);
   $counter =0;
    foreach ($contents as $obj){
        $domain = $obj->uu;
        $da = $obj->pda;    $da = round($da,2);
        $pa = $obj->upa;    $pa = round($pa,2);
        if ($domain == "") $domain = trim($batchedDomains[$counter]);
       if ($domain == "") exit;
        echo "$domain|$da|$pa<br>";
       ob_flush(); flush();
        $counter++;
    }

}

?>

So the output will now be :

URL | DA | PA
 

redbandit

Supreme Member
Joined
Sep 30, 2014
Messages
1,404
Reaction score
405
could someone help me on how and where to run this script please?
 

SpoonFeeder

BANNED
Joined
Mar 19, 2017
Messages
1,608
Reaction score
2,095
Website
www.blackhatworld.com
could someone help me on how and where to run this script please?
Here I come!

It's a PHP script and you need a web server to execute it. If you don't have a hosting account, install WAMP and execute the script locally from your PC/Laptop.

Here's a short tutorial for WAMP.

Code:
http://www.homeandlearn.co.uk/php/php1p3.html
 

redbandit

Supreme Member
Joined
Sep 30, 2014
Messages
1,404
Reaction score
405
Here I come!

It's a PHP script and you need a web server to execute it. If you don't have a hosting account, install WAMP and execute the script locally from your PC/Laptop.

Here's a short tutorial for WAMP.

Code:
http://www.homeandlearn.co.uk/php/php1p3.html


Holla and thanks!
 

ebiz101

Power Member
Joined
Feb 16, 2010
Messages
732
Reaction score
173
could someone help me on how and where to run this script please?

the most common place to run this script is your regular cpanel hosting.. just copy & paste the script to your hosting, edit the moz key, and you're set
 

redbandit

Supreme Member
Joined
Sep 30, 2014
Messages
1,404
Reaction score
405
the most common place to run this script is your regular cpanel hosting.. just copy & paste the script to your hosting, edit the moz key, and you're set


Cool thanks a mil
 

louiseluo

Newbie
Joined
Jan 20, 2017
Messages
13
Reaction score
2
Here I come!

It's a PHP script and you need a web server to execute it. If you don't have a hosting account, install WAMP and execute the script locally from your PC/Laptop.

Here's a short tutorial for WAMP.

Code:
http://www.homeandlearn.co.uk/php/php1p3.html
Andrew,why you do not reply me?Why you do not provide any service?Please contact me or refund my money!Thanks!
 

tophi

Jr. VIP
Jr. VIP
Joined
Sep 7, 2012
Messages
810
Reaction score
233
Hm any updates on this, I get Zero ... Result:
google.com|0

for any domain. Api is working on my SB plugin and other software.
 

jasperq

Newbie
Joined
May 26, 2014
Messages
10
Reaction score
4
Hm any updates on this, I get Zero ... Result:
google.com|0 for any domain. Api is working on my SB plugin and other software.

Just tried the PHP script in post #10, with a newly created account -- didn't work immediately. Waited 10 minutes and tried again and it works. Moz does say on creating a new API key that it takes about 20 minutes for this key to filter to all their servers.

google.com/|100|96.46
 

tophi

Jr. VIP
Jr. VIP
Joined
Sep 7, 2012
Messages
810
Reaction score
233
Just tried the PHP script in post #10, with a newly created account -- didn't work immediately. Waited 10 minutes and tried again and it works. Moz does say on creating a new API key that it takes about 20 minutes for this key to filter to all their servers.

google.com/|100|96.46
As I said it woks on the other places where I put the API which btw is maybe 3 years old.
 
Top