Rank::MajesticSEO - Backlink count parser for majesticseo.com
Parser overview
The Majestic parser is one of the most popular parsers for SEO specialists as it allows obtaining such important metrics as Trust Flow and Citation Flow. Using the automated multi-threaded Majestic parser, you can parse the following data: number of referring domains, backlinks, and indexed pages.
A-Parser functionality allows you to save parsing settings for future use (presets), set parsing schedules, and much more.
Thanks to the multi-threaded operation of A-Parser, the request processing speed can reach 100 requests per minute using only 50 threads.

Saving results is possible in any format and structure you need, thanks to the built-in powerful Template Toolkit templating engine, which allows applying additional logic to results and outputting data in various formats, including JSON, SQL, and CSV.
Collected data
Data is collected from the service www.majesticseo.com
- Number of referring domains
- Number of backlinks
- Number of indexed pages
- Trust Flow and Citation Flow metrics
Use cases
- Obtaining summary information about a domain
- Estimating the number of backlinks
- Estimating traffic on a domain
Queries
You should specify a list of domains as queries, for example:
a-parser.com
yandex.ru
google.com
vk.com
facebook.com
youtube.com
Output results examples
A-Parser supports flexible result formatting thanks to the built-in Template Toolkit templating engine, which allows it to output results in arbitrary forms, as well as structured ones like CSV or JSON.
Exporting a list of results
Result format:
$query - domains: $domains, backlinks: $backlinks, trust: $trustflow, citation: $citationflow, indexed: $indexed\n
The result displays the domain, number of backlinks, number of referring IP addresses, trust, citation, and indexed pages.
Result example:
facebook.com - domains: 28384898, backlinks: 83357892873, trust: 99, citation: 99, indexed: 6743835203
a-parser.com - domains: 380, backlinks: 90219, trust: 12, citation: 38, indexed: 16121
yandex.ru - domains: 592182, backlinks: 1751277762, trust: 88, citation: 82, indexed: 92468056
google.com - domains: 21134537, backlinks: 32206959211, trust: 100, citation: 100, indexed: 3278520318
vk.com - domains: 1145676, backlinks: 3235015237, trust: 90, citation: 85, indexed: 372205938
...
Output to a CSV table
The built-in $tools.CSVLine utility allows creating correct tabular documents ready for import into Excel or Google Sheets.
Result format:
[% tools.CSVline(query.orig,domains,trustflow,citationflow,indexed) %]
File name:
$datefile.format().csv
Initial text:
Domain,Referring Domains,Trust,Citation,Indexing
Result example:
Domain,Referring Domains,Trust,Citation,Indexing
a-parser.com,380,12,38,16121
yandex.ru,592182,88,82,92468056
vk.com,1145676,90,85,372205938
facebook.com,28384898,99,99,6743835203
google.com,21134537,100,100,3278520318
The Template Toolkit templating engine is used in the Result Format to output results.
In the result file name, you simply need to change the file extension to csv.
To make the "Initial text" option available in the Task Editor, you need to activate "More options". In "Initial text", write the column names separated by commas and make the second line empty.
Saving in SQL format
Result format:
INSERT INTO serp VALUES('$query.orig', '$domains', '$backlinks', '$trustflow', '$citationflow', '$indexed')\n
Result example:
INSERT INTO serp VALUES('google.com', '21134537', '32206959211', '100', '100', '3278520318')
INSERT INTO serp VALUES('vk.com', '1145676', '3235015237', '90', '85', '372205938')
INSERT INTO serp VALUES('yandex.ru', '592182', '1751277762', '88', '82', '92468056')
INSERT INTO serp VALUES('a-parser.com', '380', '90219', '12', '38', '16121')
INSERT INTO serp VALUES('facebook.com', '28384898', '83357892873', '99', '99', '6743835203')
Dumping results to JSON
General output format:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.query = p1.query.orig;
obj.indexed = p1.indexed;
obj.domains = p1.domains;
obj.citationflow = p1.citationflow;
obj.trustflow = p1.trustflow;
obj.backlinks = p1.backlinks;
obj.json %]
Initial text:
[
Final text:
]
Result example:
[
{"indexed":"372205938","domains":"1145676","citationflow":"85","query":"vk.com","trustflow":"90","backlinks":"3235015237"},
{"indexed":"92468056","domains":"592182","citationflow":"82","query":"yandex.ru","trustflow":"88","backlinks":"1751277762"},
{"indexed":"6743835203","domains":"28384898","citationflow":"99","query":"facebook.com","trustflow":"99","backlinks":"83357892873"},
{"indexed":"3278520318","domains":"21134537","citationflow":"100","query":"google.com","trustflow":"100","backlinks":"32206959211"},
{"indexed":"16121","domains":"380","citationflow":"38","query":"a-parser.com","trustflow":"12","backlinks":"90219"}
]
To make the "Initial text" and "End text" options available in the Task Editor, you need to activate "More options".
Results processing
A-Parser allows processing results directly during parsing; in this section, we have provided the most popular use cases for the Rank::MajesticSEO parser.
Saving domains with the required trust
Add a filter and select the check value variable $trustflow - Trust flow from the dropdown list. Select a type, for example: >. Next, in Number, enter the value you need, e.g., 10. With such a filter, you can remove all results with a Trust flow value less than 10.

Download example
How to import an example into A-Parser
eJx9VFFP20AM/ivRCaRNggoe9lK0SQWt0iagDMpT24cjcbqjl3O4u5RWUf479iW9
tMD21Nr+7LM/f3EtvHQrd2fBgXdiOKtFGf6LobiXZjUc3shncF6lDz8nyWkyVtqD
TWAji1KDOBGltA4sZ84+JlA8g1xW2ouTWvhtCVQW12CtyjhZZWSXFjdbC94qcORb
S10x7PzsTDT/zgruHm0R/f/g6V+LxV6CtxXswfMwFoVpdu6W6tvK+VzjKznb6LSF
/jjokQwsvUJDlgPjRLNY7Kq4MdpCcrHZcZJJL5PvSd1cJMncsDV4qcBuyVeet38H
aNXyYhfNsJDKuDbeGTH4JNOVVmbVhaMZAbH9FhDNCEiVl9x3j9n3RJgyGWwgaxGd
wcHjxVGIPzs087mJzLkHuYYptpRC7ybdwK0smDROBI4O8sDPl68DvyGBCJllihuQ
uiWORdWT+WjUSyDdIGGZMNLLmLbKy4JQILC4I30mjoItqEQVcv+0OWKYS+3gRDhq
dSypkex9RNG6pUc7Caslfy3QjLS+hjXoHhbqX1ZKZ/QFjHJK+tUlfg6ZfKjRxPH2
nyLtvlrqIVYJ1uXkps/K8BqXNHn2RHNrVShPtrvCyrDeWJYrgDJydsucFWghPtNV
7l6n778Ewx9Kv7JR2bsOxjhYy6EzJfmo5aT7+HbIykzpyEzMFfLR4LlMpTWtxcF9
L4+R69bARt/g++Sr8ASPvrsswiNq9/uhbbW0iuT3jRssiMn9V7uSqdT68f56PyJ6
SZEhT9urNkixmJutZNkPbDU3S8Ql6Ta416v2N5cpPCF2luDyHpZIwqPhm0W8kPHE
1p/cyWHd0FKf3V2LZQYYST6i0oXzct68AXxQ/Fc=
See also: Result filters
Possible settings
| Parameter name | Default value | Description |
|---|---|---|
| Check type | Root domain | Allows choosing the check type: Root Domain / Subdomain / URL |
| Use Chrome (Slow) | ☐ | Specifies to use the Chrome browser for all requests |
| Use Headless mode for Chrome | ☑ | Use Headless mode for requests via browser |
| Use Stealth mode for Chrome | ☐ | Mask browser usage when making requests via browser |
| Use HTTP2 for requests without Chrome | ☐ | Use HTTP/2 for requests without a browser |
| Emulate browser headers for requests without Chrome | ☐ | Emulate browser headers for requests without a browser |
| User-agent for requests without Chrome | [% tools.ua.random() %] | User-agent override for requests without a browser |
| Additional headers for requests without Chrome | Accept, Accept-Encoding, Accept-Language | Allows setting headers for requests without a browser. Works similarly to Additional headers in Net::HTTP. |
