DAPA API Documentation

The DAPA API allows you to fetch DA PA data for any domain. This API is designed to be simple and easy to use. Below are the details on how to use the API, including authentication, parameters, and response formats.

API Endpoint

POST https://www.dapachecker.org/api/user/dapa-checker

CURL Request

curl --location 'https://www.dapachecker.org/api/user/dapa-checker' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
    "urls": [
        "medium.com",
        "google.com",
        "https://www.editpad.org/tool/paraphrasing-tool"
    ]
}'

Authentication

Authentication requires a valid API key. Include your API key in the request headers.

Authorization: Bearer YOUR_API_KEY

Request Parameters

Parameter Type Required Description
urls array Yes List of URLs to check. Each URL should be a valid domain name; surrounding spaces are trimmed. Any URL that is not in a valid format is skipped and reported back in the skipped list instead of failing the request. The maximum number of URLs depends on your plan and applies to the valid URLs only.

Examples

Basic DAPA Request

{
    "urls": [
        "medium.com",
        "google.com",
        "editpad.org"
    ]
}

Response Format

Successful Response

{
    "status": 200,
    "message": "Success",
    "data": [
        {
            "domain": "medium.com",
            "site_da": 95,
            "site_pa": 85,
            "site_mr": 8.5,
            "spam_score": 1
        },
        {
            "domain": "google.com",
            "site_da": 94,
            "site_pa": 90,
            "site_mr": 9,
            "spam_score": 1
        },
        {
            "domain": "editpad.org",
            "site_da": 47,
            "site_pa": 49,
            "site_mr": 4.9,
            "spam_score": 1
        }
    ],
    "summary": {
        "submitted": 3,
        "processed": 3,
        "skipped": 0
    },
    "skipped": []
}

Response Fields

Field Type Description
data array One record per processed URL, with its DA, PA, MozRank and Spam Score.
summary.submitted integer Number of URLs you sent in the request.
summary.processed integer Number of URLs returned in data. Only these are counted against your plan queries.
summary.skipped integer Number of URLs that were not processed. processed + skipped = submitted.
skipped array One entry per URL that was not processed. See Skipped URLs.

Error Response

{
  "error": "Error message"
}

Or for authentication/subscription errors:

{
  "type": "invalid_request",
  "message": "you are not premium for this request"
}

Invalid API key in the request headers:

{
  "type": "invalid_request",
  "message": "incorrect API key provided"
}

When every URL in the request was skipped there is nothing to check, so the request fails with 422 and tells you why each one was skipped:

{
    "status": 422,
    "message": "No valid URL was provided. See the skipped list for details.",
    "data": [],
    "summary": {
        "submitted": 1,
        "processed": 0,
        "skipped": 1
    },
    "skipped": [
        {
            "index": 0,
            "url": "not a domain",
            "reason": "invalid_url_format",
            "message": "The URL is not in proper format. Please provide a valid URL with a domain extension (e.g., example.com, example.org)."
        }
    ]
}

Skipped URLs

An invalid URL never fails the whole request. Every URL that could not be processed is left out of data and listed in skipped instead, so a single bad entry in a batch of 50 still returns the results of the other 49. Skipped URLs are not counted against your plan queries.

Response With Skipped URLs

{
    "status": 200,
    "message": "Success",
    "data": [
        {
            "domain": "google.com",
            "site_da": 94,
            "site_pa": 90,
            "site_mr": 9,
            "spam_score": 1
        },
        {
            "domain": "editpad.org",
            "site_da": 47,
            "site_pa": 49,
            "site_mr": 4.9,
            "spam_score": 1
        }
    ],
    "summary": {
        "submitted": 3,
        "processed": 2,
        "skipped": 1
    },
    "skipped": [
        {
            "index": 1,
            "url": "not a domain",
            "reason": "invalid_url_format",
            "message": "The URL is not in proper format. Please provide a valid URL with a domain extension (e.g., example.com, example.org)."
        }
    ]
}

Skipped Entry Fields

Field Type Description
index integer Position of the URL in the urls array you sent, starting at 0.
url string The URL as you sent it. Empty when the entry was not a text value.
reason string Machine readable code, one of the reasons listed below.
message string Readable explanation of the reason.

Skip Reasons

Reason Description
invalid_url_format The URL is not a domain with a valid extension (e.g. example.com, https://example.org/page). Fix the URL before sending it again.
empty_url The entry was an empty string or contained only spaces.
lookup_failed The URL was valid but no data could be fetched for it this time. Send it again in a later request.
rate_limit_reached Your per minute URL limit was reached, so this URL was not processed. Send it again in a later request.

Common Errors

Status Error Description
401 incorrect API key provided The provided API key is invalid or missing.
401 you are not premium for this request Your subscription plan doesn't allow this request or has expired.
422 Validation Error The urls parameter is missing or is not an array. Individual invalid URLs do not cause this error, they are returned in skipped.
422 No valid URL was provided Every URL in the request was skipped, so there was nothing to check. The skipped list explains why for each one.
422 Limit Exceeded The valid urls in the request exceed the maximum allowed urls limit for your plan.
429 Too Many Requests The rate limit of requests per minute depends on your plan.
500 An unexpected error occurred Internal server error.

Support

For technical support or questions about the API, please Contact Us.

X
error
X
error
Error
Something went wrong
X
error
Its empty, please provide valid data to check.
X
delete confirmation
Delete Account
Are you sure that you want to delete your account?
error
AD Blocker detected. Please disable ad blocker and refresh the page.
Give Feedback
X
Rating
Amazing
Thank you for sharing your suggestion!
X
X
X
X