Get saved organic results for an analysis
Returns stored organic rows and explicit scan coverage. This does not run a live search.
GET
/projects/{project_uid}/rank-tracker/keywords/{keyword_id}/analyses/{analysis_id}/resultsReturns stored organic rows and explicit scan coverage. This does not run a live search.
Authorization
bearerApiKey AuthorizationBearer <token>
Create a REST API key in Settings > Connected Apps. MCP credentials do not authenticate this API.
In: header
Path Parameters
project_uid*string
Accessible project UID. Discover it with GET /projects; do not guess it.
Match
^[a-z0-9]{10}$keyword_id*integer
Project-scoped numeric keyword ID returned by the keyword list.
Range
1 <= valueanalysis_id*integer
Project-scoped numeric analysis ID returned by the analysis list.
Range
1 <= valueResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/projects/string/rank-tracker/keywords/1/analyses/1/results"{ "data": { "analysis": { "id": 0, "keyword_id": 0, "device": "mobile", "status": "pending", "position": 0, "previous_position": 0, "change_position": 0, "owned_results_count": 0, "matched_url": "http://example.com", "serp_features": { "property1": true, "property2": true }, "is_simulated": true, "started_at": "2019-08-24T14:15:22Z", "finished_at": "2019-08-24T14:15:22Z" }, "coverage": { "pages_scanned": 0, "organic_results_scanned": 0, "scan_complete": true, "stored_results": 0 }, "results": [ { "id": 0, "rank": 0, "result_type": "organic", "title": "string", "url": "http://example.com", "display_url": "string", "description": "string", "is_owned_result": true, "features": [ "string" ] } ] }}{ "message": "Unauthenticated."}{ "message": "string", "code": "string"}{ "message": "Project not found or not accessible."}{ "message": "string", "code": "string"}{ "message": "string", "code": "string"}