Content
Fetch Content Refresh
Retrieve saved refreshed article HTML, metadata, and publishing status. List refreshes or fetch one by refresh ID or source URL. Reviews with no changes and hidden articles are excluded.
/api/v1/content-refreshFetch Content Refresh
cURL
curl --request GET \ --url 'https://app.indexly.ai/api/v1/content-refresh?siteId=66b8f51a743b9d5f8a134201&pagination=true&page=1&limit=10' \ --header 'X-API-Key: YOUR_API_KEY'
Response
{
"data": [
{
"id": "66b8f51a743b9d5f8a134501",
"siteId": "66b8f51a743b9d5f8a134201",
"refreshArticleId": "66b8f51a743b9d5f8a134601",
"sourceUrl": "https://example.com/blog/ai-search-guide",
"title": "AI Search Guide: Updated for 2026",
"excerpt": "An updated guide to AI search visibility.",
"metaDescription": "Learn how to improve visibility in AI search.",
"heroImage": "https://example.com/images/ai-search.jpg",
"content": "<p>Updated article HTML...</p>",
"status": "REFRESHED",
"isPublishedToCMS": true,
"scheduledFor": "2026-10-01T09:00:00.000Z",
"finishedAt": "2026-10-01T09:05:00.000Z",
"publishedAt": "2026-10-01T09:05:00.000Z",
"lastRefreshedAt": "2026-10-01T09:05:00.000Z",
"refreshScore": 82,
"refreshReasons": ["Outdated examples"],
"errorMessage": null,
"createdAt": "2026-09-30T12:00:00.000Z",
"updatedAt": "2026-10-01T09:05:00.000Z"
}
],
"pagination": {
"page": 1,
"limit": 10,
"total": 1,
"pages": 1
}
}Authorizations
API key for authentication. Get yours from the Indexly dashboard under Settings → API Access.
Query parameters
Refresh schedule ID. Returns one refreshed article with its HTML content, even if light=true.
Exact URL of the original article. Requires siteId and returns the latest matching refresh.
Filter refreshes for a site. Required when sourceUrl is provided.
Omit the HTML content field from list results. Single-item responses still include content.
Return a page of results and pagination metadata. Without it, all matching refreshes are returned.
Page number when pagination is enabled; minimum 1.
Results per page when pagination is enabled; between 1 and 100.
Response
200 application/jsonDefault Response
Which refreshes are returned?
This endpoint reads saved refreshes; it does not start a refresh cycle. A REFRESHED result was published to the CMS. A SKIPPED or FAILED result can still contain a saved draft. Check isPublishedToCMS for the content returned, especially if the draft was edited in Indexly.
The content field contains the latest saved article HTML. Use light=true when you only need a list of refreshes without HTML.