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
-
How frequently is the Search Volume update for each keyword? API for Search Volume?
Subject pretty much says it all... How frequently is the Search Volume update for a given keyword? Is there an API call that would include keyword-specific Search Volume for one or more keywords? Thank you.
API | | ToddLevy0 -
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 -
MOZ API - Search Visibility
Hello there, We are looking to see if we can recreate the Search Visibility report through the API. We are wondering which API parameters and metrics we should use to recreate the report? Also, we want to distinguish between traffic coming from desktops and mobile traffic. Is this possible with the API? Which type of account do we need to use for these functionalities: the free account or paid account? We are currently using a free account. Also: we are wondering if can access historical data with the API? For instance: we want to determine the domain authority from October 2016 off on. Is this possible? Thanks in advance! Kind regards, Bart Minten
API | | thomas.deruiter0 -
API Limit Question
Hi, I am unfamiliar with API's in general but never had an issue with being throttled until today. I used the api a lot heavier today which is why. According to the API dashboard I made 5100 "requests" today and 21,000 "rows returned". I am using a MOZ PRO account and have been throttled as a result. I am wondering when does it reset? Is it a daily, weekly, or monthly limit that I hit and what is the limit? Thanks
API | | greganderson4440 -
Is it possible to send a string/id to an api call and return it?
I am integrating your mozscape API into a project of mine and I am in need of seeing if I can send and return a variable with an associated call. For instance when I am sending some batch URL's I am requesting the [upa] and [pda] back. I am also requesting the [uu] (canonical URL) but it always seems to come back blank. So the issue I am having is if I send a batch of urls to the API how do I know how to associate a [upa] or [pda] with a link? My thoughts are if I could send a ID with a link and return that ID back then I know how to associate the [upa] or [pda] with that particular link. Anyone know?
API | | cbielich1 -
Have Questions about the Jan. 27th Mozscape Index Update? Get Answers Here!
Howdy y'all. I wanted to give a brief update (not quite worthy of a blog post, but more than would fit in a tweet) about the latest Mozscape index update. On January 27th, we released our largest web index ever, with 285 Billion unique URLs, and 1.25 Trillion links. Our previous index was also a record at 217 Billion pages, but this one is another 30% bigger. That's all good news - it means more links that you're seeking are likely to be in this index, and link counts, on average, will go up. There are two oddities about this index, however, that I should share: The first is that we broke one particular view of data - 301'ing links sorted by Page Authority doesn't work in this index, so we've defaulted to sorting 301s by Domain Authority. That should be fixed in the next index, and from our analytics, doesn't appear to be a hugely popular view, so it shouldn't affect many folks (you can always export to CSV and re-sort by PA in Excel if you need, too - note that if you have more than 10K links, OSE will only export the first 10K, so if you need more data, check out the API). The second is that we crawled a massively more diverse set of root domains than ever before. Whereas our previous index topped out at 192 million root domains, this latest one has 362 million (almost 1.9X as many unique, new domains we haven't crawled before). This means that DA and PA scores may fluctuate more than usual, as link diversity are big parts of those calculations and we've crawled a much larger swath of the deep, dark corners of the web (and non-US/non-.com domains, too). It also means that, for many of the big, more important sites on the web, we are crawling a little less deeply than we have in the past (the index grew by ~31% while the root domains grew by ~88%). Often, those deep pages on large sites do more internal than external linking, so this might not have a big impact, but it could depend on your field/niche and where your links come from. As always, my best suggestion is to make sure to compare your link data against your competition - that's a great way to see how relative changes are occurring and whether, generally speaking, you're losing or gaining ground in your field. If you have specific questions, feel free to leave them and I'll do my best to answer in a timely fashion. Thanks much! p.s. You can always find information about our index updates here.
API | | randfish8 -
Cannot get the API to work when using an EC2 server
Hi I've created a script that I'd like to use to check a list of domains using the Moz API. It works totally fine on my local machine. However, when I run it from my EC2 instance, it fails every time. To be specific, the response is always empty (the response is an empty json array) when the request is sent from EC2. Is, for some reason, EC2 blocked by the Moz API? Many thanks for your help, Andrew
API | | csandrew0