Skip to content

API referenceAds

Get a Meta Ad's analysis

GET/v1/ads/meta/{library_id}/intelligence

The Ad's latest stored analysis, as an earlier analyze computed it. Nothing is computed here: an Ad with none yet is not_found; ask for it with analyze. Shared across Customers.

Open in Playground(no API Key needed)

Price

Free.

Parameters

NameInTypeRequiredDefaultDescription
library_idpathstringRequired—The Meta Ad Library id.

Responses

200 OK

{ library_id, intelligence }.

object

  • library_idstringrequired
  • intelligenceany of 2 shapesrequiredAd analysis, versioned and computed once per Ad and version. pipeline says which set it is.
    • Option 1objectVideo Ads: the full video analysis, read from the archived video with the ad copy as context.
      • versionintegerrequired
      • modelstringrequired
      • computed_atstringrequired
      • sourcestringrequired
      • contentobjectrequired
        • summarystringrequired
        • nichestringrequired
        • languagesarray of stringrequired
        • content_stylesarray of stringrequired
        • keywordsarray of objectrequired
          • keywordstringrequired
          • categorystringrequired
          • sentimentnumberrequired
        • transcriptstringrequirednullable
      • hookobjectrequired
        • opening_linestringrequirednullable
        • typestringrequired
        • visual_hookstringrequirednullable
        • rationalestringrequirednullable
      • persuasionobjectrequired
        • call_to_actionobjectrequired
          • typestringrequired
          • textstringrequirednullable
        • sponsoredbooleanrequired
        • sponsorship_signalsarray of stringrequired
        • brands_and_productsarray of objectrequired
          • namestringrequired
          • kindstringrequired
          • prominencestringrequired
        • trend_referencesarray of objectrequired
          • namestringrequired
          • kindstringrequired
      • toneobjectrequired
        • sentiment_labelstringrequired
        • sentiment_scorenumberrequired
        • primary_emotionstringrequired
        • emotion_intensitynumberrequirednullable
        • emotion_rationalestringrequirednullable
        • speaking_stylestringrequired
        • speaking_style_notesstringrequirednullable
      • visualobjectrequired
        • formatstringrequired
        • settingstringrequired
        • face_visibilitystringrequired
        • on_screen_textarray of stringrequired
        • has_on_screen_captionsbooleanrequired
        • camera_notesstringrequirednullable
        • lighting_notesstringrequirednullable
        • elementsany
      • safetyobjectrequired
        • brand_safety_tierstringrequired
        • reasonsarray of stringrequired
        • notesstringrequirednullable
      • pipelinestringrequiredalways video
    • Option 2objectImage and carousel Ads: the analysis an image can carry, read from the archived images with the ad copy as context.
      • pipelinestringrequiredalways image
      • versionintegerrequired
      • modelstringrequired
      • computed_atstringrequired
      • images_analyzedintegerrequired
      • summarystringrequired
      • copyobjectrequired
        • anglestringrequired
        • rationalestringrequirednullable
        • headlinestringrequirednullable
      • offerobjectrequired
        • typestringrequired
        • textstringrequirednullable
      • call_to_actionobjectrequired
        • typestringrequired
        • textstringrequirednullable
      • visualobjectrequired
        • formatstringrequired
        • on_image_textarray of stringrequired
      • topicsarray of stringrequired
      • toneobjectrequired
        • sentiment_labelstringrequired
        • sentiment_scorenumberrequired

200 · `{ library_id, intelligence }`.

{
  "library_id": "2233445566778899",
  "intelligence": {
    "pipeline": "image",
    "version": 1,
    "model": "gemini-3.5-flash-lite",
    "computed_at": "2026-09-21T10:02:11.000Z",
    "images_analyzed": 1,
    "summary": "A matte black cold plunge tub shot in a bright bathroom, sold on a daily three-minute routine.",
    "copy": {
      "angle": "TRANSFORMATION",
      "rationale": "The headline frames the tub as a daily ritual and the copy as an upgrade.",
      "headline": "Three minutes. Every morning."
    },
    "offer": {
      "type": "NONE",
      "text": null
    },
    "call_to_action": {
      "type": "VISIT_SITE",
      "text": "Learn More"
    },
    "visual": {
      "format": "PRODUCT_SHOT",
      "on_image_text": [
        "Three minutes. Every morning."
      ]
    },
    "topics": [
      "cold plunge",
      "morning routine",
      "home wellness"
    ],
    "tone": {
      "sentiment_label": "POSITIVE",
      "sentiment_score": 0.6
    }
  }
}

401 Unauthorized

missing_authorization, invalid_key, key_revoked or invalid_token.

object

RFC 9457 problem document, served as application/problem+json. Branch on code, never on the prose.

  • typestringrequired
  • titlestringrequired
  • statusintegerrequired
  • codestringrequiredone of missing_authorization, invalid_key, key_revoked, invalid_token, organization_not_selected, organization_access_revoked, connection_revoked, forbidden, invalid_request, unsupported_platform, unsupported_kind, kind_deprecated, not_found, video_too_long, idempotency_conflict, run_not_ready, advertiser_ambiguous, insufficient_balance, rate_limit_exceeded, concurrency_limit_exceeded, tracker_limit_exceeded, webhook_limit_exceeded, webhook_rotation_in_progress, collection_limit_exceeded, collection_name_taken, collection_kind_mismatch, media_unavailable, vendor_error, source_unavailable, service_unavailable, internal_errorStable machine-readable code.
  • detailstring

401 · Example

{
  "type": "https://www.shortsintel.com/docs/reference/errors/invalid_key",
  "title": "Invalid key",
  "status": 401,
  "code": "invalid_key",
  "detail": "That API key does not exist. Keys look like `sk_live_...` and are created in the console."
}

404 Not Found

not_found.

object

RFC 9457 problem document, served as application/problem+json. Branch on code, never on the prose.

  • typestringrequired
  • titlestringrequired
  • statusintegerrequired
  • codestringrequiredone of missing_authorization, invalid_key, key_revoked, invalid_token, organization_not_selected, organization_access_revoked, connection_revoked, forbidden, invalid_request, unsupported_platform, unsupported_kind, kind_deprecated, not_found, video_too_long, idempotency_conflict, run_not_ready, advertiser_ambiguous, insufficient_balance, rate_limit_exceeded, concurrency_limit_exceeded, tracker_limit_exceeded, webhook_limit_exceeded, webhook_rotation_in_progress, collection_limit_exceeded, collection_name_taken, collection_kind_mismatch, media_unavailable, vendor_error, source_unavailable, service_unavailable, internal_errorStable machine-readable code.
  • detailstring

404 · Example

{
  "type": "https://www.shortsintel.com/docs/reference/errors/not_found",
  "title": "Not found",
  "status": 404,
  "code": "not_found",
  "detail": "This Ad has no analysis yet. Request it with `analyze: true`."
}

Request samples

curl "https://www.shortsintel.com/v1/ads/meta/library_id_example/intelligence" \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
  • Ads: Searching Meta's Ad Library with its filters, what each Ad carries, the winner Score, Ad analysis, what is stored, and how an ad search is priced.