How to get backlinks with the API
-
How do i use the MOZ API to get backlinks report?
-
I'm afraid not for bash curls. We do share example code for calling our API using other languages at https://github.com/seomoz/SEOmozAPISamples
-
Can you think of any other method for doing the subdomain backlink search? I posted the code above if you want to play with it.
Or for that matter anyone can try it out.
-
Anytime!
-
see below curl bash examples for Moz API:
#!/bin/bash
Usage: ./moz-test.sh callmydoc.com or ./moz-test.sh solimancare.schedulemypatient.com
Note: backlinks for subdomains does not return results yet.
access_id="mozscape-xx"
secret_key="xx"searchurl=$1
echo "Checking backlinks for ["$searchurl"]"
endpoint="lsapi.seomoz.com"timenow=$(date +%s)
timeend=$(( ${timenow} + (606024) ))
stringToSign=${access_id}$'\n'${timeend}
signature=$(echo -n "${stringToSign}" | openssl dgst -sha1 -hmac "${secret_key}" -binary | base64)
signature=$(echo ${signature} | sed 's/+/%2B/g;s/=/%3D/g')start=0
end=300
echo "Checking for practices from $start to $end"
rm found_urls.txt
touch found_urls.txt
for (( i=$start; i<$end; i++ )); do
numberofdots=$(echo $searchurl | grep -o "." | wc -l)
echo "number of dots ["$numberofdots"]"
if [ "$numberofdots" == "1" ]; then
url="http://lsapi.seomoz.com/linkscape/links/$searchurl?AccessID=${access_id}&Expires=${timeend}&Signature=${signature}&Scope=page_to_domain&Filter=external&Sort=page_authority&SourceCols=4&TargetCols=4&LinkCols=4&Limit=25"url2="http://lsapi.seomoz.com/linkscape/url-metrics/$searchurl?Cols=4&AccessID=${access_id}&Expires=${timeend}&Signature=${signature}"
echo "Calling Moz url-metrics API with ["$url2"]"
curl $url
echo
read -n 1 -p "Press any key to continue . . ."
echo
else
url="http://lsapi.seomoz.com/linkscape/links/$searchurl?AccessID=${access_id}&Expires=${timeend}&Signature=${signature}&Scope=page_to_subdomain&Filter=external&Sort=page_authority&SourceCols=4&TargetCols=4&LinkCols=4&Limit=25"
fi
echo "Calling Moz API with ["$url"]"
curl $url > backlink-results.json
echo
jq -r '.[].uu' < backlink-results.json >> found_urls.txt
read -n 1 -p "Press any key to continue . . ."
echosleep a random amount between 1 and 30 seconds to not crush moz API
sleep $[ ( $RANDOM % 50 ) + 1 ]s
(( i + 50 ))
done -
got it! really really appreciate your help!
-
That URL is not an API call as it is a direct link to our online web app via web browser.
-
so the call would be like: url="https://mza.seotoolninja.com/researchtools/ose/links?site=$searchurl?AccessID=${access_id}&Expires=${timeend}&Signature=${signature}"?
-
This will mean we have not discovered links from external sites to pages at those domains
-
You would only need to enter the domain in the search field on OSE to return metrics you can compare against API results.
OSE is our web app which calls our API.
-
so I would take the json returned from the http://lsapi.seomoz.com/linkscape/links call and feed it back into this to cross reference, corect?
-
jeez. 8-( Ok, got it. wow, sorry. fixed. Now: http://lsapi.seomoz.com/linkscape/links/solimancare.schedulemypatient.com?AccessID=mozscape-xx&Expires=xx&Signature=xx%3D&Scope=page_to_subdomain&Filter=external&Sort=page_authority&SourceCols=4&TargetCols=4&LinkCols=4&Limit=50&Offset=0
does not return anything, just []. It should show at least one of cal.callmydoc.com, solimancare.com, shantiquesparoom.com
should I tune up the parameters to be more specific?
-
Hi Carl
The call is malformed with an additional scope parameter: http://www.screencast.com/t/zTqfBb0NuAO
If you remove the extra &Scope=
The call should work
-
this is for my wife's practice: http://lsapi.seomoz.com/linkscape/links/solimancare.schedulemypatient.com?AccessID=mozscape-xx&Expires=xx&Signature=xx%3D&Scope=&Scope=page_to_subdomain&Filter=external&Sort=page_authority&SourceCols=4&TargetCols=4&LinkCols=4&Limit=50&Offset=0
returns:
{
"status" : "403",
"error_message" : "Permission denied: naieofimocidphjeoaifmdkkmllomolnnf"
} -
Can you paste the full URL call your app generated minus credentials so I can take a look?
-
all i did was change that one parameter but now i am getting:
{
"status" : "403",
"error_message" : "Permission denied: blepcoehcjeidmfpcleoaigbaahfafhgbo"
} -
Also to test your results, you can cross-reference by filtering page/sub-domain/root-domain directly on OSE https://mza.seotoolninja.com/researchtools/ose/links?site=10.billing.callmydoc.com&filter=&source=external&target=domain&group=0&page=1&sort=page_authority&anchor_id=&anchor_type=&anchor_text=&from_site=
-
You would only need to adjust the scope to be &Scope=page_to_subdomain
as the above example would only give you results to any page at callmydoc.com
-
THIS IS AWESOME! If i am checking a subdomain, like 10.billing.callmydoc.com, do I need to do something different?
As usual, I will repost my findings once completed. 8-)
-
Hey Carl!
We do provide examples in the documentation. They can be filtered in many ways.
Here is a very basic call that will return the first 25 links to all pages going to moz.com which will provide the linking page and the page being link to
The first result will look like this:
[0] => Array
(
[lrid] => 460538186303
[lsrc] => 131443324666
[lt] => "Google Algorithm Change History"
[ltgt] => 68767261786
[luuu] => moz.com/google-algorithm-change
[uu] => en.wikipedia.org/wiki/Google_PandaHope this helps!
-
in other words, does someone have an example of the API parameters for the backlink API call?
-
what is the specific API call to show backlinks on my URL?
-
Hi Dinom
Keep in mind this is not a number of ALL of your backlinks as our tool is not a complete index of all of your links. Our link discovery methods are based on Domain Authority to only show you quality links to a domain. There isn't a single call to fetch all of the links as there is a limit of 25 rows of data you can return for each call and there is a rate limit.
The options you have can be found here:
-
Hi David,
What i want is to use the API to give me the list of backlinks for my website. Something like the webapp u already have. But i want to know the API call which can be used to achieve that. The link you gave...that can only be used to find out the number of links (all including backlink, external, no follow foloow etc)..what i am requesting is that is there a API call which would list down the backlink urls for me?
-
Hi Dino
URL-Metrics for the API can be found here: http://apiwiki.moz.com/url-metrics
Hope this helps
Got a burning SEO question?
Subscribe to Moz Pro to gain full access to Q&A, answer questions, and ask your own.
Browse Questions
Explore more categories
-
Moz Tools
Chat with the community about the Moz tools.
-
SEO Tactics
Discuss the SEO process with fellow marketers
-
Community
Discuss industry events, jobs, and news!
-
Digital Marketing
Chat about tactics outside of SEO
-
Research & Trends
Dive into research and trends in the search industry.
-
Support
Connect on product support and feature requests.
Related Questions
-
Unsolved Mozscape API subscription
We have questions regarding our subscription and the plan we are on. We are more interested in Mozscape API and not the features that we have access to currently. Will you let us know how we can change. Is there some one that we can chat with. Thanks,
API | | PatientPop
Naveen
[email protected]0 -
API v1 still gets new data?
Hello! Do the v1 API endpoints provide fresh data, or do I need to use the v2 endpoints for fresh data? According to the v1 API docs "This guide outlines the endpoints for now archived Mozscape API endpoints." Does this mean that the v1 API only serves archived data? Thanks!
API | | peterkovacs0 -
MOZscape API Signup "An unknown error has occurred"
Hello, I am not able to signup for MOZscape API, I am getting error while signing up for MOZScape API under free trial. https://mza.seotoolninja.com/checkout/api --> Getting error here, please help. Thanks.
API | | rahul2k11in0 -
Get discovered and lost linking domains separately
Hello, We want to get "discovered and lost links" using api.
API | | OlegKireyenka
You do not have discovered and lost metrics available via the Links API and we call api for backlinks and then cross reference this with the links found the last time, we are able to get only NET links, but we want to get "just discovered and lost links" separately.
for example: inbound links for 27 July is 600, inbound links for 30 July is 750, okay, NET links from 27 July to 30 July = 750-600=150. And in this case "discovered and lost links" maybe: 400 and -250, 300 and -150, 150 and 0, and etc. Maybe I can not understand something, give example please. Thank!0 -
API ACCESS to COMPETITOR DATA
Is there access with any of the available API's that I may be able to show my client's keyword competitive data for them vs their competitors (The ones they specify?). Perhaps in JSON format?
API | | Digitlead0 -
Mozscape API Updates (Non-updates!) - becoming a joke!
This is the 3rd month in succession where the Mozscape index has been delayed. Myself and clients are losing patience with this, as I am sure many others must be. Just what do you suppose we tell clients waiting for that data? We have incomplete and sometimes skewed metrics to report on, delays which then get delayed further, with nothing but the usual 'we are working on it' and 'bear with us'. It's becoming obvious you fudged the index update back in January (see discussion here with some kind of explanation finally from Rand: https://mza.seotoolninja.com/community/q/is-everybody-seeing-da-pa-drops-after-last-moz-api-update), and seems you have been fumbling around ever since trying to fix it, with data all over the place, shifting DA scores and missing links from campaign data. Your developers should be working around the clock to fix this, because this is a big part of what you're selling in your service, and as SEO's and marketers we are relying on that data for client retention and satisfaction. Will you refund us all if we should lose clients over this?! .. I don't think so! With reports already sent out the beginning of the month with incomplete data, I told clients the index would refresh April 10th as informed from the API updates page, only to see it fudged again on day of release with the index being rolled back to previous. So again, I have to tell clients there will be more delays, ...with the uncertainty of IF it WILL EVEN get refreshed when you say it will. It's becoming a joke.. really!
API | | GregDixson2 -
Moz rank tracker API
Hi we trying to make a PHP script to get values of keyword rank for a certain country and URL like we do in Rank Traker under Moz Pro tools. Is there any reference i can use to build one myself.
API | | Moreleads0 -
API - Internal Links to page and related metrics
Hi dear moz Team! Currently I´m building a Java application accessing your API. But there are some metrics I urgently need which I can´t get out of the API until now: The total number of internal links to a page The total number of internal links to a page with partial anchor text match MozRank passed by all internal links w. part. match anchor text (would be nice) For example, if I try this by your links endpoint, my idea was: http://lsapi.seomoz.com/linkscape/links/http%3A%2F%2Fwww.jetztspielen.de%2F?AccessID=..
API | | pollierer
&Expires=..
&Signature=..
&Scope=domain_to_page
&Filter=internal
&Sort=domain_authority
&SourceCols=4 (or any other value)
&SourceDomain=www.jetztspielen.de
&Offset=0
&Limit=50 If I try this, the API says: {"status": "400", "error_message": "Cannot set a source domain when filtering for internal links."} Is there any way to get the data I need by your API endpoints? I´m currently writing my master thesis and it is very important to me to solve this somehow. Thank you very much in advance! Best, Andreas Pollierer1