How to extract "no. of top10 keywords" for a domain


Hi folks,

I’m looking for a way to extract the number of top10 keywords a domain is ranking for in Google.

I have access to SemRush, Ahrefs, Majestic and Sistrix API. However, I did not find a fitting solution, neither in the tool itself nor in the API descriptions from the tool directly.

I wanted to settle with the SEMRush.DomainOverview.OrganicKeywords function which supposedly gives you the number of top20 rankings. Unfortunately, it gives you number of top100 rankings which is too broad.

Appreciate your help folks!



Hi Max,

How about using filters on the SemRush endpoint? Like this:



well not a bad idea… not exactly what I was looking for though.

I’m looking for a function that returns the number of keywords that the website ranks on page 1 / top10 for.

Thank you!


This is what you are searching for:


Sorry to reply to an older thread, but I am trying to achieve the same, but through SEMRush API. That is what i only have access too.

Is this possible? I want to be able to import the data represented in the attached screenshot.



It is probably possible to achieve this table using the current endpoints with several steps. I looked at the SEMRush API documentation and there is another endpoint for projects:

It seems to offer a detailed summary up to top20:

If you think this is useful, and are willing to lend us your API key, please email me at and I'll try to implement it.

Also, please browse the documentation yourself and see if I've missed something.