Yes, Semrush has an API. It covers SEO reports, Position Tracking and Site Audit projects, website traffic through Trends, local listings and AI visibility. Standard access needs a Business subscription on the SEO Toolkit plus a purchased package of API units, and every method is limited to 10 requests per second.
Yes, and it comes in five families
The developer documentation describes the API as a way of extracting raw data without logging into the platform, so the numbers can feed your own dashboards, reports and workflows. That's useful if you run an agency and want client reporting to fill itself in, or if you're building an internal tool that needs keyword data on demand.
It isn't one API but five, and they don't all work the same way:
- SEO API: analytics reports such as domain, organic search, keyword and inbound link reports, returned as CSV or JSON depending on version (v3 or v4).
- Projects API: Position Tracking and Site Audit campaigns, plus managing your folders, with JSON responses.
- Trends API: website traffic data, in two plans, Trends Basic and Trends Premium, with Premium adding 16 extra data types and a default monthly limit of 10,000 requests.
- Local API: including the Map Rank Tracker API and the Listing Management API.
- Enterprise API: AI Optimization prompt-tracking data.
Conditions: who can call it and what they need
Standard API access, meaning the SEO API and the Projects API, is available to SEO Toolkit users with a Business subscription. Two parts of the local family are more open. The Map Rank Tracker API is available to all users, with no API units or special subscription needed. The Listing Management API is for Local users on Pro and Business subscriptions, and it doesn't use units either.
Every method shares the same rate limits: 10 requests per second and 10 simultaneous requests per account. If you're building a tool that fans out lots of calls at once, queue them, or you'll hit the ceiling on the first busy morning.
There's also a data rule worth reading before you build a warehouse. Under section 3.3 of the Terms of Service, data received via the API can't be cached for more than one month without express written consent. So a long-term archive of raw API data needs that consent; for most reporting, refreshing monthly keeps you inside the rule.
Upgrading gives you zero units
This is where people get stuck. The Semrush API documentation, on its Get access page, says that after upgrading to the SEO Business plan your number of API units is still zero. You then buy an API unit package from the Subscription info page, on the API Units tab, before you can make a single call.
Units are spent per line, and the rate depends on the report. One line of the Domain Organic Search Keywords report uses 10 units for live data and 50 units for historical data. Historical pulls use five times as many units as live ones, so a big backfill of past months can drain a package far faster than you'd expect.
What happens when the units run out
The SEO, Trends, Position Tracking and Site Audit APIs return ERROR 132. The Projects and Local APIs return a 403 error. Per-line reports may also return only as many lines as your remaining units cover, which is easy to miss: the call succeeds, but the report is quietly shorter than you asked for.
Two habits help. Use the display_limit parameter to cap the lines a report returns, so you only spend units on what you'll use. And check your balance with a request to countapiunits, which doesn't spend any units, before a large job runs.
Other SEO data APIs to compare
Ahrefs API v3 pulls from Site Explorer, Keywords Explorer, SERP Overview, Rank Tracker and Site Audit, and Batch Analysis returns metrics for up to 100 targets per request. Any unit-consuming request has a minimum of 50 units.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
DataForSEO's v3 documentation offers SERP API methods in both Task POST (queued) and Live forms, and supports batch requests of several queries. Moz has a dedicated API product built around its link index, for pulling link and domain metrics into your own tools. For a wider view of search result data providers, my list of the best SERP APIs for rank and results data lines them up.
My advice before you build on it
Start with the Map Rank Tracker API if local rankings are your main need, since it doesn't need units or a special subscription. If you need the SEO or Projects API, work out your monthly line count first, prefer live data over historical, and set display_limit on every call. Check countapiunits before big jobs so a report never comes back short without you noticing. If you're still shaping how the tool fits your wider plan, this piece on building a marketing strategy around Semrush helps.
Want your tool on this list? Featured spots and reviews here are paid partnerships. Here's how to partner with me.
Frequently asked questions
Does Semrush have an API?
Yes. It offers SEO, Projects, Trends, Local and Enterprise APIs, documented on its developer site.
Which Semrush plan do I need for the API?
Standard API access needs the SEO Toolkit Business subscription, then a purchased API unit package. The Map Rank Tracker API is open to all users, and the Listing Management API needs Local Pro or Business.
What are API units?
Each request consumes units depending on the report. For example, one line of Domain Organic Search Keywords uses 10 units live or 50 historical.
What are the Semrush API rate limits?
Up to 10 requests per second and 10 simultaneous requests per account on all methods.
What happens when I run out of units?
Most SEO endpoints return ERROR 132, the Projects and Local APIs return 403, and per-line reports may return only the lines you have units for.


