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://moz.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://moz.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
-
What is the metric to check link state and link type for MOZ API ?
Kindly do not share the website url related to url and link metrics,instead of mention the correct metric for link state and link type. Thanks!
API | | rogerdavid0 -
Alternatives to Supermetrics to get Moz metrics into Google Sheets?
Hi, Interested in getting Moz API metrics into Google Sheets on an automated scheduled. Supermetrics can do this, but I am curious to know if there are any alternatives, free or paid. Thanks! 🙂
API | | GOODSIR1 -
Is There any API from FourSqaure that allow us directly feeding business listings into it , Moz is doing same , so there must be some API?
Hi, i have seen "Moz Local" , has a option , "FourSqaure". I just a curiosity to ask that , is there any tie-up between FourSqaure and Moz , coz Moz must be using its APIs to feeds its business listings into FS Database. When i have searched for FS APIs for direclty feeding business listings into it , i got nothing ? so i have got this question? if any one can help me out.
API | | Prodio0 -
Get All Campaigns
Hi , i can not find in api documentation how can I browse all campaigns in account in PHP. I need browse Tracked Keywords Overview table for every campaigns. But in documentation i can not find how put together query parameters. In response i need keyword, rank and URL for one project and every project in Campaigns. Is it possible ? Thank you for your answer.
API | | Sabanero0 -
Is Url-Metrics Historical data available via API?
Hi, we're using Url Metrics API. We were wondering if we could access historical data. Like for example passing the date to query. Currently on the api docs this ability is not listed. Thanks!
API | | Haystak0 -
Can the API Filter Links with Certain Anchor Text?
I am trying to get all links that have a certain strings in their anchor text: I am using the python library: https://github.com/seomoz/SEOmozAPISamples/blob/master/python/lsapi.py Looking at the documentation, it says I can get the normalized anchor text by using the bit flag 8 for the LinkCols value: https://moz.com/help/guides/moz-api/mozscape/api-reference/link-metrics So I tried this: links = l.links('example.com', scope='page_to_domain', sort='domain_authority', filters=['external'], sourceCols = lsapi.UMCols.url, linkCols=8) But it doesn't return the expected 'lnt' response field or anything similar to the anchor text. How do I get the anchor text on the source URLs? I also tried 10 for the linkCols value, to get all the bit flags in the lf field as well as the anchor text. In both instances (and even with different variations of targetCols & sourceCols), this is all the fields that are returned: 'lrid', 'lsrc', 'luuu', 'uu', 'luupa', 'ltgt'
API | | nbyloff0 -
Can we get access to Moz's Rank Tracker via the API?
I'd like to be able to pull the results from Rank Tracker into my own application. Can I access it via an API? I don't see it anywhere in the Moz documentation, which is usually a clear answer. If not, how do you suggest to automate the inclusion of this data without, for example, being blacklisted?
API | | MB070 -
Seo moz api request problem [401 error_message Your authentication failed]
Hello Team, I have moz pro account. I'm getting following error for seomoz call using your API: {"status":"401","error_message":"Your authentication failed. Check your authentication details and try again. For more information on signed authentication, see: http://apiwiki.moz.com/signed-authentication"} The link that we are using is:
API | | eBrandz
http://lsapi.seomoz.com/linkscape/url-metrics/ And following bits are requested during the call: 68719476736 34359738368 32 2048 16384 The error is intermittent. It comes and goes. There were no issues with results 3 days ago. I suddenly started getting this error. Could you please investigate into it and let me know the cause of issues and its correctiveness. It will great if you can provide us a support email Id for immediate response. Thanks,0