Majestic crawls the web and analyzes the data to create a huge Link Intelligence dataset describing how the world wide web links together. The Majestic API is designed to faciliate the creation of rich toolsets to tailor provision of Majestic backlink data to your use case
Audience: We anticipate that you are a programmer in possession of a developer API key. If you want to buy a plan with access to the API, please visit the plans page and consider the API plan, or contact our sales team for more details.
It is assumed that the audience is aware of security issues associated with remote API access over the internet. Please note that any GET style URLs are used in this documentation for the purpose of
providing clear, concise examples to developers and should not be used to make the requests to the API. We have provided POST request dialogues for this purpose.
This page describes the standard authorisation for API plans, available online at Majestic.com/plans-pricing for internal use and via our sales team if data from our system is intended for resale. Authorisation information for those API users with the OpenApps licence can be found on the OpenApps specific documentation page. Our sales team is happy to discuss custom data extractions for those API users on a reseller plan.
For in depth technical detail about the API, please visit the API reference page.
The Majestic API is available on two endpoints – a Developer API with an older, limited version of our index intended for development, and an Internal/Reseller API which uses the resources on your subscription to query our live data sets.
Our website accesses our Fresh and Historic Indexes in a very similar manner to the public API. We therefore suggest familiarising yourself with the website to assist development and help support personnel to deal with any of your queries.
Our API is based on HTTP. An HTTP GET or POST request is sent from your application to one of the two endpoints discussed above. This endpoint returns a response synchronously. For some commands, you may be required to make further HTTP requests to download the data requested.
Following your HTTP GET or POST request, our server will return a response in either XML or JSON. Our JSON format is more humanly readable, but comes at the cost of bandwidth. We therefore advise users to maximise performance by using XML.
We have provided an example of a call to GetIndexItemInfo and responses in both XML and JSON.
<?xml version="1.0" encoding="UTF-8"?> <Result Code="OK" ErrorMessage="" FullError=""> <GlobalVars FirstBackLinkDate="2017-07-13" IndexBuildDate="2017-10-15 16:23:38" IndexType="1" MostRecentBackLinkDate="2017-10-14" QueriedRootDomains="0" QueriedSubDomains="0" QueriedURLs="1" QueriedURLsMayExist="0" ServerBuild="2017-10-13 13:57:22" ServerName="QUACKYO" ServerVersion="1.0.6495.23321" UniqueIndexID="20171015162338-FRESH" /> <DataTables Count="1"> <DataTable Name="Results" RowsCount="1" Headers="ItemNum|Item|ResultCode|Status|ExtBackLinks|RefDomains|AnalysisResUnitsCost|ACRank|ItemType|IndexedURLs|GetTopBackLinksAnalysisResUnitsCost|DownloadBacklinksAnalysisResUnitsCost|DownloadRefDomainBacklinksAnalysisResUnitsCost|RefIPs|RefSubNets|RefDomainsEDU|ExtBackLinksEDU|RefDomainsGOV|ExtBackLinksGOV|RefDomainsEDU_Exact|ExtBackLinksEDU_Exact|RefDomainsGOV_Exact|ExtBackLinksGOV_Exact|CrawledFlag|LastCrawlDate|LastCrawlResult|RedirectFlag|FinalRedirectResult|OutDomainsExternal|OutLinksExternal|OutLinksInternal|OutLinksPages|LastSeen|Title|RedirectTo|Language|LanguageDesc|LanguageConfidence|LanguagePageRatios|LanguageTotalPages|RefLanguage|RefLanguageDesc|RefLanguageConfidence|RefLanguagePageRatios|RefLanguageTotalPages|CrawledURLs|RootDomainIPAddress|TotalNonUniqueLinks|NonUniqueLinkTypeHomepages|NonUniqueLinkTypeIndirect|NonUniqueLinkTypeDeleted|NonUniqueLinkTypeNoFollow|NonUniqueLinkTypeProtocolHTTPS|NonUniqueLinkTypeFrame|NonUniqueLinkTypeImageLink|NonUniqueLinkTypeRedirect|NonUniqueLinkTypeTextLink|RefDomainTypeLive|RefDomainTypeFollow|RefDomainTypeHomepageLink|RefDomainTypeDirect|RefDomainTypeProtocolHTTPS|CitationFlow|TrustFlow|TrustMetric|TopicalTrustFlow_Topic_0|TopicalTrustFlow_Value_0|TopicalTrustFlow_Topic_1|TopicalTrustFlow_Value_1|TopicalTrustFlow_Topic_2|TopicalTrustFlow_Value_2" MaxTopicsRootDomain="30" MaxTopicsSubDomain="20" MaxTopicsURL="10" TopicsCount="3"> <Row>0|http://www.majestic.com/|OK|Found|390371|681|390371|6|3|1|5000|390372|63620|358|323|3|11|0|0|1|1|0|0|True|2017-10-14|HTTP_301_PermanentRedirect|True|DownloadedSuccessfully|0|0|1|1| |Majestic®: Marketing Search Engine and SEO Backlink Checker|https://majestic.com/| | | | |0| | | | |0|1| |390448|24|0|2421|388515|68837|0|388424|7|2017|662|595|19|681|0|43|32|32|Computers/Internet/Web Design and Development|29|Computers/Internet|28|Business/E-Commerce|25</Row> </DataTable> </DataTables> </Result>
{ "Code": "OK", "ErrorMessage": "", "FullError": "", "FirstBackLinkDate": "2017-07-13", "IndexBuildDate": "2017-10-15 16:23:38", "IndexType": 1, "MostRecentBackLinkDate": "2017-10-14", "QueriedRootDomains": 0, "QueriedSubDomains": 0, "QueriedURLs": 1, "QueriedURLsMayExist": 0, "ServerBuild": "2017-10-13 13:57:22", "ServerName": "QUACKYO", "ServerVersion": "1.0.6495.23321", "UniqueIndexID": "20171015162338-FRESH", "DataTables": { "Results": { "Headers": { "MaxTopicsRootDomain": 30, "MaxTopicsSubDomain": 20, "MaxTopicsURL": 10, "TopicsCount": 3 }, "Data": [ { "ItemNum": 0, "Item": "http://www.majestic.com/", "ResultCode": "OK", "Status": "Found", "ExtBackLinks": 390371, "RefDomains": 681, "AnalysisResUnitsCost": 390371, "ACRank": 6, "ItemType": 3, "IndexedURLs": 1, "GetTopBackLinksAnalysisResUnitsCost": 5000, "DownloadBacklinksAnalysisResUnitsCost": 390372, "DownloadRefDomainBacklinksAnalysisResUnitsCost": 63620, "RefIPs": 358, "RefSubNets": 323, "RefDomainsEDU": 3, "ExtBackLinksEDU": 11, "RefDomainsGOV": 0, "ExtBackLinksGOV": 0, "RefDomainsEDU_Exact": 1, "ExtBackLinksEDU_Exact": 1, "RefDomainsGOV_Exact": 0, "ExtBackLinksGOV_Exact": 0, "CrawledFlag": "True", "LastCrawlDate": "2017-10-14", "LastCrawlResult": "HTTP_301_PermanentRedirect", "RedirectFlag": "True", "FinalRedirectResult": "DownloadedSuccessfully", "OutDomainsExternal": "0", "OutLinksExternal": "0", "OutLinksInternal": "1", "OutLinksPages": "1", "LastSeen": "", "Title": "Majestic®: Marketing Search Engine and SEO Backlink Checker", "RedirectTo": "https://majestic.com/", "Language": "", "LanguageDesc": "", "LanguageConfidence": "", "LanguagePageRatios": "", "LanguageTotalPages": 0, "RefLanguage": "", "RefLanguageDesc": "", "RefLanguageConfidence": "", "RefLanguagePageRatios": "", "RefLanguageTotalPages": 0, "CrawledURLs": 1, "RootDomainIPAddress": "", "TotalNonUniqueLinks": "390448", "NonUniqueLinkTypeHomepages": "24", "NonUniqueLinkTypeIndirect": "0", "NonUniqueLinkTypeDeleted": "2421", "NonUniqueLinkTypeNoFollow": "388515", "NonUniqueLinkTypeProtocolHTTPS": "68837", "NonUniqueLinkTypeFrame": "0", "NonUniqueLinkTypeImageLink": "388424", "NonUniqueLinkTypeRedirect": "7", "NonUniqueLinkTypeTextLink": "2017", "RefDomainTypeLive": "662", "RefDomainTypeFollow": "595", "RefDomainTypeHomepageLink": "19", "RefDomainTypeDirect": "681", "RefDomainTypeProtocolHTTPS": "0", "CitationFlow": 43, "TrustFlow": 32, "TrustMetric": 32, "TopicalTrustFlow_Topic_0": "Computers/Internet/Web Design and Development", "TopicalTrustFlow_Value_0": 29, "TopicalTrustFlow_Topic_1": "Computers/Internet", "TopicalTrustFlow_Value_1": 28, "TopicalTrustFlow_Topic_2": "Business/E-Commerce", "TopicalTrustFlow_Value_2": 25 } ] } }
To use the API, you will need to have an account with a Platinum (Legacy) or API plan and generate an API key.
Sign into your Majestic account.
Select My Account > API Keys.
Select Create a New Key.
Add your API key, specify the index and add any other URLs to compare to the form below and send a POST request via the buttons to test the developer endpoint for GetIndexItemInfo. For other available parameters, please check the GetIndexItemInfo command documentation.
Want to get to know the API a little better? Check out the API reference page.
For a list of all available commands, with examples, descriptions and parameters, look at the commands section.
We also provide API connectors in a number of different languages, which can be downloaded through our GitHub account to help you get started.