Extendify Analytics API Documentation

Version 1.0

Overview

The Extendify Analytics API allows authorized partners to access information about a site on their service.

API Versioning

The current version is v1, and it should be included in the base URL of all requests:

https://insights.extendify.com/api/v1/

Authentication

All endpoints require authentication.

Authorization: Bearer API_TOKEN

Ensure your API key is kept secure and not exposed in shared or public spaces.

General Error Handling

Our API uses conventional HTTP response codes to indicate the success or failure of requests. Clients should handle each response appropriately. Common response codes include:

  • 429 Too Many Requests: The user has been rate limited.
  • 500 Internal Server Error: An error occurred on the server side.

In both cases, the response body will contain a JSON object with a message describing the error.

{
    "error": "Error message."
}

Rate Limiting

The API has a rate limit of 20 requests per 10 seconds. The following information will be sent back in the response header (example values):

X-Ratelimit-Limit: 20
X-Ratelimit-Remaining: 19
X-Ratelimit-Reset: 1712741510000

Support

For any questions or issues with the API, please contact our partner support team at partners@extendify.com

Endpoints

Get site profile

GET /site-profile

Access data about a site. For example,

GET /site-profile?url=https://www.example.com

Headers:

Authorization: Bearer YOUR_TOKEN

Query Parameters:

url (String, required): The URL of the site to retrieve. Use the fully qualified domain name (FQDN) of the site.

Successful Response:

200 OK

{
    "data": {
        "site_id": String|null,
        "site_url": String|null,
        "site_title": String|null,
        "site_created_at": ISODateString (UTC)|null,
        "site_structure": String|null,
        "site_objective": String|null,
        "site_category": String|null,
        "site_goals": Array<String>,
        "site_launched": Boolean,
        "launch_loaded_at": ISODateString (UTC)|null,
        "launch_selected_pages": Array<String>,
        "partner_id": String|null,
        "partner_name": String|null
    }
}

Unsuccessful Response:

401 Unauthorized

This error returns if you do not have access to the site url being requested.

{
    "error": "Unauthorized"
}

400 Bad Request

This error returns if the site url is invalid.

{
    "error": "Invalid URL"
}