Version 2
The Extendify Analytics API allows authorized partners to access information about multiple sites on their service, with flexible filtering and pagination.
The current version is v2, and it should be included in the base URL of all requests:
https://insights.extendify.com/api/v2/
All endpoints require authorization.
Authorization: Bearer API_TOKEN
Ensure your API key is kept secure and not exposed in shared or public spaces.
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:
Code | Meaning |
---|---|
429 | Too Many Requests |
500 | Internal Server Error |
401 | Unauthorized |
400 | Bad Request |
In each case, the response body will contain a JSON object with a message describing the error.
{
"error": "Error message."
}
The API has a rate limit of 100 requests per 10 seconds.
The following information will be sent back in the response header (example values):
X-Ratelimit-Limit: 100
X-Ratelimit-Remaining: 99
X-Ratelimit-Reset: 1712741510000
For any questions or issues with the API, please contact our partner support team at partners@extendify.com
The API includes a single endpoint for accessing site profiles.
GET /site-profile
Authorization: Bearer YOUR_TOKEN
Name | Type | Required | Description |
---|---|---|---|
url | String | No | The URL of the site to retrieve. Use the fully qualified domain name (FQDN). |
partnerId | String | No | Filter by partner ID. |
page | Number | No | Page number for pagination (default: 1). |
format | String | No | Response format: json (default) or csv . |
Passing in a url will override the partnerId, and page parameters. Otherwise, you can use any combination of the parameters to filter the results.
GET /site-profile
This will return all sites for all partner IDs the user has access to.
GET /site-profile?url=https://example.com
Querying for a specific site by URL will return an array with one site object.
GET /site-profile?partnerId=12345
This will return all sites for the specified partner ID.
GET /site-profile?format=csv
This will return the response in CSV format. See below for response information. The default is JSON.
Each json response will follow the same structure, regardless of the number of sites returned.
{
"data": [
{
"site_id": "string",
"site_url": "string",
"site_title": "string",
"site_created_at": "2024-01-01T00:00:00.000Z",
"site_structure": "string",
"site_objective": "string",
"site_category": "string",
"site_goals": ["string"],
"site_launched": true,
"launch_loaded_at": "2024-01-01T00:00:00.000Z",
"launch_selected_pages": ["string"],
"partner_id": "string",
"partner_name": "string"
}
],
"pagination": {
"total": 123,
"totalPages": 2,
"hasNextPage": true,
"hasPreviousPage": false,
"nextPage": 2,
"previousPage": false,
"currentPage": 1,
"pageSize": 100
}
}
The CSV response will contain the same data as the JSON response, but in a comma-separated format. Additionally, the pagination information will be included in the response headers.
Content-Type: text/csv
X-Total-Count: 123
X-Total-Pages: 2
X-Current-Page: 1
X-Page-Size: 100
X-Has-Next-Page: 1
X-Has-Previous-Page: 0
X-Previous-Page: -1
X-Next-Page: 2
site_id,site_url,site_title,site_created_at,site_structure,site_objective,site_category,site_goals,site_launched,launch_loaded_at,launch_selected_pages,partner_id,partner_name
"abc123","https://www.example.com","Example Site","2024-01-01T00:00:00.000Z","structure","objective","category","goal1;goal2","true","2024-01-01T00:00:00.000Z","home:about","partner1","Partner Name"
...
Every response will include pagination information in the response. For CSV responses, this information will be included in the headers. The pagination information includes:
Key | Description |
---|---|
X-Total-Count | Total number of results |
X-Total-Pages | Total number of pages |
X-Current-Page | Current page number |
X-Page-Size | Number of items per page |
X-Has-Next-Page | 1 if next page exists |
X-Has-Previous-Page | 1 if previous page exists |
X-Previous-Page | Previous page number or -1 |
X-Next-Page | Next page number or -1 |