What this API does and who it is for

The Moz DA PA API exposes five Moz SEO metrics for any domain you query: Domain Authority (DA), Page Authority (PA), total external links to the URL, external nofollow links to the URL, and spam score. If you have ever used Moz's own interface to check these numbers, this API returns the same figures in JSON form, making it straightforward to embed Moz-style authority scoring into your own tools.

The primary audience is developers building SEO dashboards, link-prospecting tools, content auditing workflows, or any application where you need to programmatically qualify domains at scale. It is distributed through RapidAPI, so authentication follows the standard RapidAPI header pattern rather than a separate Moz API account.

Endpoint walkthrough

The API exposes a single endpoint:

POST https://moz-da-pa1.p.rapidapi.com/v1/getDaPa

The request body is minimal — just a JSON object with a q field containing the domain name string:

{ "q": "example.com" }

Three headers are required: your x-rapidapi-key, the x-rapidapi-host value moz-da-pa1.p.rapidapi.com, and Content-Type: application/json.

A successful 200 response looks like this:

{
  "domain_authority": 93,
  "external_nofollow_urls_to_url": "-1",
  "external_urls_to_url": 31807399,
  "page_authority": 83,
  "spam_score": 47
}

Response fields explained

  • domain_authority — integer 0–100. Reflects the predicted likelihood of the domain ranking well in search engines. Higher is better.
  • page_authority — integer 0–100. Same scale as DA but scoped to the specific page or root URL queried rather than the entire domain.
  • external_urls_to_url — total count of external links pointing to the URL. This is the raw backlink count and is the main driver behind DA and PA scores.
  • external_nofollow_urls_to_url — count of external nofollow links. This field may return the string "-1" when the data is unavailable, so your parsing code should handle that case explicitly rather than casting blindly to an integer.
  • spam_score — integer 0–100. A higher value indicates a higher probability that the domain has a spammy link profile. Useful for filtering out low-quality domains in link prospecting.

One thing to note: DA and PA are logarithmic scales. The difference between a DA 20 and DA 30 domain is not the same effort as the difference between DA 70 and DA 80, so interpret these numbers accordingly when building scoring logic.

Pricing breakdown

The API follows a freemium model with four tiers:

Plan Monthly cost Requests/month Overage Rate limit
BASIC $0 20
PRO $19 7,000 $0.01/req 1,000/hour
ULTRA $49 25,000 $0.01/req 1/second
MEGA $99 100,000 $0.01/req 1/second

The BASIC plan's 20 requests per month is really only sufficient for testing during development — verifying the integration works, inspecting response shapes, and building your parsing logic. You cannot build any meaningful production feature on 20 monthly lookups.

For a solo developer or small agency running periodic audits, PRO at $19/month gives you 7,000 checks. At one request per domain, that is 7,000 domains a month, which covers weekly audits of a moderately sized link database. The 1,000 requests/hour rate limit on PRO is generous enough that batch jobs run sequentially will not hit it in practice.

ULTRA and MEGA both carry a 1 request/second rate limit. That cap is the binding constraint for high-throughput crawlers — at 1 req/s you can send at most 86,400 requests per day, well above even the MEGA plan's 100,000 monthly allocation. Overage on all paid plans is a flat $0.01 per request, so if you occasionally exceed your monthly quota the cost is predictable and calculable in advance.

Practical use cases

Link prospecting filters — When assembling outreach lists, you can discard domains below a DA threshold or above a spam score ceiling automatically. Running each candidate domain through this API before adding it to a CRM cuts manual triage time significantly.

Competitor backlink audits — Pull a list of referring domains from a backlink export tool, then enrich each row with DA, PA, and spam score to prioritize which competitor links are worth pursuing.

Content publishing platforms — If your platform lets users contribute external links, a spam score check on submission can flag low-quality or potentially harmful domains before they go live.

SEO reporting dashboards — Scheduled jobs can refresh authority scores for a client's tracked domain set on a weekly or monthly basis, surfacing trends over time without requiring a full Moz subscription.

Limitations and things to check before integrating

Single-domain queries only. There is no batch endpoint. If you need scores for 10,000 domains, you make 10,000 sequential POST requests. On the MEGA plan at 1 req/s that takes roughly three hours of sustained calling. Factor this into any time-sensitive pipeline design.

The external_nofollow_urls_to_url field can return "-1". This is a string, not an integer, when data is absent. Any downstream code that expects a numeric type will fail unless you guard against it.

Rate limits differ by plan. The PRO plan specifies 1,000 requests/hour; the ULTRA and MEGA plans specify 1/second. These are different units, so verify which applies to your chosen plan and implement appropriate throttling in your client code.

Average latency is 1,737 ms. For interactive UIs where a user types a domain and expects an instant result, nearly two seconds per lookup is noticeable. Consider running checks asynchronously or pre-fetching scores in background jobs rather than inline with user actions.

Data source is Moz. The accuracy and freshness of DA, PA, and spam score values are ultimately governed by how often Moz crawls and updates its index — this API surfaces those values but does not control them.

Getting started

  1. Subscribe to the API on RapidAPI. The BASIC plan requires no credit card and gives you 20 requests to test with.
  2. Copy your x-rapidapi-key from the RapidAPI dashboard.
  3. Send a POST request to https://moz-da-pa1.p.rapidapi.com/v1/getDaPa with the body {"q": "yourdomain.com"} and the three required headers.
  4. Parse the JSON response, noting that external_nofollow_urls_to_url may be the string "-1".
  5. Upgrade to PRO or above once you have validated the integration and have a realistic estimate of your monthly request volume.