Get last SEO scan

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Returns the app's last SEO scan in full: its score and every check.

Same payload Run SEO scan returned when it ran, so poll this rather than re-scanning to re-read a result. It returns null until the app is scanned at least once, and the result is only as current as the last scan, so read scanned_at before acting on it. That is also the field to compare against Get SEO score: the score is stored separately, so the two can briefly answer from different scans.

This endpoint is limited to 30 requests per minute per app, and that budget is shared with the app's other SEO endpoints.

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>

get/api/apps/{app_id}/seo/last-scan

Path parameters

app_idstring required

ID of the app.

ID of the app.

Response

The last scan, or null if the app has never been scanned.

Example response

{
  "result": {
    "score": {
      "overall": 82,
      "grade": "B",
      "categories": {
        "meta_tags": {
          "failures": 0,
          "passed": 4,
          "score": 80,
          "warnings": 1
        }
      }
    },
    "checks": [
      {
        "category": "ai_discoverability",
        "description": "Turn on the AI site guide so AI engines can understand your app.",
        "id": "llms_txt",
        "status": "warn",
        "title": "AI-readable site guide is off"
      }
    ],
    "scanned_at": "2026-09-03T09:15:00+00:00"
  }
}

Changes

No recorded changes to this endpoint across all 1 revision of this API.