Adsmom Inc. Explore · LinkedIn Ads API

The Explore · LinkedIn Ads API from Adsmom Inc. — 6 operation(s) for explore · linkedin ads.

Business capability
Market Intelligence Management BC-400.30

Operations 6

GET /api/v1/explore/linkedin/ads List (or batch-hydrate) LinkedIn ads from your tracked advertisers #
GET /api/v1/explore/linkedin/ads/impressions Impression-bracket timeseries for multiple LinkedIn ads #
GET /api/v1/explore/linkedin/ads/{id_token} Get one LinkedIn ad #
GET /api/v1/explore/linkedin/ads/{id_token}/impressions Impression-bracket timeseries for one LinkedIn ad #
GET /api/v1/explore/linkedin/ads/{id_token}/snapshots List point-in-time captures of one LinkedIn ad #
GET /api/v1/explore/linkedin/ads/{id_token}/snapshots/{snapshot_uuid} Get a LinkedIn ad as captured at a snapshot #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/adsmom-inc-explore-linkedin-ads-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

adsmom-inc-explore-linkedin-ads-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Adsmom Explore · LinkedIn Ads API
  description: Stable REST API for tracked ad intelligence across Meta, TikTok, and Google. Authenticate with OAuth 2.0 client_credentials.
  version: '1.0'
  contact: {}
servers:
- url: /
tags:
- name: Explore · LinkedIn Ads
paths:
  /api/v1/explore/linkedin/ads:
    get:
      operationId: listLinkedinAds
      parameters:
      - name: advertiser_id
        required: false
        in: query
        description: Filter to one advertiser (id token).
        schema:
          type: string
      - name: query
        required: false
        in: query
        description: Free-text search across headline and commentary.
        schema:
          type: string
      - name: active
        required: false
        in: query
        description: true | false — active vs ended.
        schema:
          type: string
      - name: started_after
        required: false
        in: query
        description: Started on/after (ISO 8601).
        schema:
          type: string
      - name: format
        required: false
        in: query
        schema:
          type: string
          enum:
          - video
          - image
      - name: sort
        required: false
        in: query
        schema:
          type: string
          enum:
          - newest
          - oldest
          - impressions_desc
      - name: cursor
        required: false
        in: query
        description: Opaque pagination cursor.
        schema:
          type: string
      - name: limit
        required: false
        in: query
        schema:
          maximum: 25
          default: 25
          type: number
      - name: ids
        required: false
        in: query
        description: Batch-hydrate ad id tokens (comma-separated, max 25). When set, filters/pagination are ignored.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinkedinAdSummary'
      security:
      - oauth: []
      summary: List (or batch-hydrate) LinkedIn ads from your tracked advertisers
      tags:
      - Explore · LinkedIn Ads
  /api/v1/explore/linkedin/ads/impressions:
    get:
      operationId: batchLinkedinAdImpressions
      parameters:
      - name: from
        required: false
        in: query
        description: Start date (ISO 8601).
        schema:
          type: string
      - name: to
        required: false
        in: query
        description: End date (ISO 8601).
        schema:
          type: string
      - name: ids
        required: false
        in: query
        description: Ad id tokens (comma-separated, max 25).
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinkedinImpressionsTimeline'
      security:
      - oauth: []
      summary: Impression-bracket timeseries for multiple LinkedIn ads
      tags:
      - Explore · LinkedIn Ads
  /api/v1/explore/linkedin/ads/{id_token}:
    get:
      operationId: getLinkedinAd
      parameters:
      - name: id_token
        required: true
        in: path
        schema:
          type: string
      - name: include
        required: false
        in: query
        description: 'Comma-separated heavy includes: full_targeting, transcript.'
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedinAd'
      security:
      - oauth: []
      summary: Get one LinkedIn ad
      tags:
      - Explore · LinkedIn Ads
  /api/v1/explore/linkedin/ads/{id_token}/impressions:
    get:
      operationId: getLinkedinAdImpressions
      parameters:
      - name: id_token
        required: true
        in: path
        schema:
          type: string
      - name: from
        required: false
        in: query
        description: Start date (ISO 8601).
        schema:
          type: string
      - name: to
        required: false
        in: query
        description: End date (ISO 8601).
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedinImpressionsTimeline'
      security:
      - oauth: []
      summary: Impression-bracket timeseries for one LinkedIn ad
      tags:
      - Explore · LinkedIn Ads
  /api/v1/explore/linkedin/ads/{id_token}/snapshots:
    get:
      operationId: listLinkedinAdSnapshots
      parameters:
      - name: id_token
        required: true
        in: path
        schema:
          type: string
      - name: cursor
        required: false
        in: query
        description: Opaque pagination cursor.
        schema:
          type: string
      - name: limit
        required: false
        in: query
        schema:
          maximum: 25
          default: 25
          type: number
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LinkedinAdSnapshot'
      security:
      - oauth: []
      summary: List point-in-time captures of one LinkedIn ad
      tags:
      - Explore · LinkedIn Ads
  /api/v1/explore/linkedin/ads/{id_token}/snapshots/{snapshot_uuid}:
    get:
      operationId: getLinkedinAdAtSnapshot
      parameters:
      - name: id_token
        required: true
        in: path
        schema:
          type: string
      - name: snapshot_uuid
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LinkedinAd'
      security:
      - oauth: []
      summary: Get a LinkedIn ad as captured at a snapshot
      tags:
      - Explore · LinkedIn Ads
components:
  schemas:
    LinkedinImpressionsTimeline:
      type: object
      properties:
        gid:
          type: string
          example: gid://adsmom/linkedin/ad/0192f1c3-...
        id_token:
          type: string
          example: linkedin.ad.0192f1c3-...
        platform:
          type: string
          enum:
          - linkedin
          example: linkedin
        daily:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinImpressionsPoint'
      required:
      - gid
      - id_token
      - platform
      - daily
    LinkedinAdvertiserRef:
      type: object
      properties:
        gid:
          type: string
          example: gid://adsmom/linkedin/advertiser/0192f1c3-...
        id_token:
          type: string
          example: linkedin.advertiser.0192f1c3-...
        name:
          type: string
          example: Microsoft
        company_id:
          type:
          - string
          - 'null'
          description: LinkedIn /company/{id} key.
      required:
      - gid
      - id_token
      - name
      - company_id
    LinkedinCountryImpression:
      type: object
      properties:
        country:
          type: string
          example: Germany
        percent:
          type:
          - number
          - 'null'
          description: Impression share, percent (LinkedIn reports shares, not counts).
          example: 34
      required:
      - country
      - percent
    LinkedinAdMediaAnalysis:
      type: object
      properties:
        language:
          type:
          - string
          - 'null'
        description:
          type:
          - string
          - 'null'
        sentiment:
          type:
          - string
          - 'null'
        hook_type:
          type:
          - string
          - 'null'
        content_format:
          type:
          - string
          - 'null'
        cta_type:
          type:
          - string
          - 'null'
        has_text_overlay:
          type:
          - boolean
          - 'null'
        topics:
          type: array
          items:
            type: string
        on_screen_text:
          type:
          - string
          - 'null'
          description: On-screen text. Only with `include=transcript`.
        spoken_content:
          type:
          - string
          - 'null'
          description: Spoken transcript. Only with `include=transcript`.
      required:
      - language
      - description
      - sentiment
      - hook_type
      - content_format
      - cta_type
      - has_text_overlay
      - topics
      - on_screen_text
      - spoken_content
    LinkedinTargeting:
      type: object
      properties:
        segments:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinTargetingSegment'
        parameters:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinTargetingParameter'
      required:
      - segments
      - parameters
    LinkedinAdSnapshot:
      type: object
      properties:
        uuid:
          type: string
          description: Snapshot uuid — address one at /ads/{id}/snapshots/{uuid}.
        captured_at:
          type: string
          description: When this capture was taken (ISO 8601).
        is_active:
          type:
          - boolean
          - 'null'
        total_impressions:
          type:
          - string
          - 'null'
          description: Raw impressions bracket as displayed (e.g. "10k-50k").
        impressions_lower_bound:
          type:
          - number
          - 'null'
        impressions_upper_bound:
          type:
          - number
          - 'null'
        country_impressions:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinCountryImpression'
      required:
      - uuid
      - captured_at
      - is_active
      - total_impressions
      - impressions_lower_bound
      - impressions_upper_bound
      - country_impressions
    LinkedinTargetingSegment:
      type: object
      properties:
        category:
          type: string
          example: Location
        visible:
          type:
          - string
          - 'null'
        hidden:
          type:
          - string
          - 'null'
      required:
      - category
      - visible
      - hidden
    LinkedinAdSummary:
      type: object
      properties:
        gid:
          type: string
          example: gid://adsmom/linkedin/ad/0192f1c3-...
        id_token:
          type: string
          example: linkedin.ad.0192f1c3-...
        platform:
          type: string
          enum:
          - linkedin
          example: linkedin
        api_id:
          type: string
          description: LinkedIn Ad Library ad id.
          example: '4623456789'
        advertiser:
          $ref: '#/components/schemas/LinkedinAdvertiserRef'
        is_active:
          type: boolean
          example: true
          description: True for active or recently-active evidence. False covers both confirmed-inactive and unknown — read activity_status for the distinction.
        activity_status:
          type: string
          enum:
          - active
          - recently_active
          - inactive
          - unknown
          example: active
          description: Activity evidence at the latest observation. `recently_active` means the ad was seen in the library within the last crawl window; `unknown` means no evidence either way (never inferred as inactive).
        start_date:
          type:
          - string
          - 'null'
          example: '2026-05-01'
        end_date:
          type:
          - string
          - 'null'
          description: Campaign end date; null while running.
        impressions_upper_bound:
          type:
          - number
          - 'null'
          description: EU impressions bracket upper bound (null for non-EU ads).
        impressions_lower_bound:
          type:
          - number
          - 'null'
          description: EU impressions bracket lower bound (null for non-EU ads).
        format:
          type: string
          enum:
          - video
          - image
          - unknown
        primary_text:
          type:
          - string
          - 'null'
          description: Headline, falling back to sponsored-post commentary.
        thumbnail_url:
          type:
          - string
          - 'null'
          description: Signed, short-lived (~10 min). Fetch promptly or re-request.
      required:
      - gid
      - id_token
      - platform
      - api_id
      - advertiser
      - is_active
      - activity_status
      - start_date
      - end_date
      - impressions_upper_bound
      - impressions_lower_bound
      - format
      - primary_text
      - thumbnail_url
    LinkedinAdMedia:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - video
          - image
        media_url:
          type:
          - string
          - 'null'
          description: Signed (~10 min).
        cover_image_url:
          type:
          - string
          - 'null'
          description: Signed (~10 min).
        analysis_status:
          type: string
          enum:
          - pending
          - processing
          - completed
          - failed
          description: Creative-analysis pipeline status.
        analysis:
          allOf:
          - $ref: '#/components/schemas/LinkedinAdMediaAnalysis'
      required:
      - id
      - type
      - media_url
      - cover_image_url
      - analysis_status
      - analysis
    LinkedinAd:
      type: object
      properties:
        gid:
          type: string
          example: gid://adsmom/linkedin/ad/0192f1c3-...
        id_token:
          type: string
          example: linkedin.ad.0192f1c3-...
        platform:
          type: string
          enum:
          - linkedin
          example: linkedin
        api_id:
          type: string
          description: LinkedIn Ad Library ad id.
          example: '4623456789'
        advertiser:
          $ref: '#/components/schemas/LinkedinAdvertiserRef'
        is_active:
          type: boolean
          example: true
          description: True for active or recently-active evidence. False covers both confirmed-inactive and unknown — read activity_status for the distinction.
        activity_status:
          type: string
          enum:
          - active
          - recently_active
          - inactive
          - unknown
          example: active
          description: Activity evidence at the latest observation. `recently_active` means the ad was seen in the library within the last crawl window; `unknown` means no evidence either way (never inferred as inactive).
        start_date:
          type:
          - string
          - 'null'
          example: '2026-05-01'
        end_date:
          type:
          - string
          - 'null'
          description: Campaign end date; null while running.
        impressions_upper_bound:
          type:
          - number
          - 'null'
          description: EU impressions bracket upper bound (null for non-EU ads).
        impressions_lower_bound:
          type:
          - number
          - 'null'
          description: EU impressions bracket lower bound (null for non-EU ads).
        format:
          type: string
          enum:
          - video
          - image
          - unknown
        primary_text:
          type:
          - string
          - 'null'
          description: Headline, falling back to sponsored-post commentary.
        thumbnail_url:
          type:
          - string
          - 'null'
          description: Signed, short-lived (~10 min). Fetch promptly or re-request.
        headline:
          type:
          - string
          - 'null'
        commentary:
          type:
          - string
          - 'null'
        cta_text:
          type:
          - string
          - 'null'
        destination_url:
          type:
          - string
          - 'null'
        creative_type:
          type:
          - string
          - 'null'
        ad_format:
          type:
          - string
          - 'null'
        payer_name:
          type:
          - string
          - 'null'
          description: '"Paid for by" entity from the ad detail page.'
        country_impressions:
          description: Per-country impression shares from the latest snapshot.
          type: array
          items:
            $ref: '#/components/schemas/LinkedinCountryImpression'
        media:
          type: array
          items:
            $ref: '#/components/schemas/LinkedinAdMedia'
        targeting:
          description: Only with `include=full_targeting`; null otherwise.
          allOf:
          - $ref: '#/components/schemas/LinkedinTargeting'
      required:
      - gid
      - id_token
      - platform
      - api_id
      - advertiser
      - is_active
      - activity_status
      - start_date
      - end_date
      - impressions_upper_bound
      - impressions_lower_bound
      - format
      - primary_text
      - thumbnail_url
      - headline
      - commentary
      - cta_text
      - destination_url
      - creative_type
      - ad_format
      - payer_name
      - country_impressions
      - media
      - targeting
    LinkedinImpressionsPoint:
      type: object
      properties:
        date:
          type: string
          example: '2026-05-12'
        impressions_lower_bound:
          type:
          - number
          - 'null'
          example: 10000
        impressions_upper_bound:
          type:
          - number
          - 'null'
          example: 50000
      required:
      - date
      - impressions_lower_bound
      - impressions_upper_bound
    LinkedinTargetingParameter:
      type: object
      properties:
        parameter:
          type: string
          example: Member skills
        targeted:
          type: boolean
        excluded:
          type: boolean
      required:
      - parameter
      - targeted
      - excluded
  securitySchemes:
    oauth:
      scheme: bearer
      bearerFormat: JWT
      type: http