> ## Documentation Index
> Fetch the complete documentation index at: https://deepline.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# ScrapeCreators: Linkedin Ads Search

> Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters. Includes SDK V2 examples, schemas, and cost.

Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters.

> [!NOTE]
>
> Tool ID: `scrapecreators_linkedin_ads_search`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'scrapecreators_linkedin_ads_search',
  {
    "company": "Example Corp",
    "keyword": "software companies hiring engineers",
    "companyId": "company_123"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute scrapecreators_linkedin_ads_search --input '{
  "company": "Example Corp",
  "keyword": "software companies hiring engineers",
  "companyId": "company_123"
}' --json
```

## Example response

The static output schema lacks the details for a reliable example. Use `deepline describe scrapecreators_linkedin_ads_search --json` for the complete live contract.

## Input reference

Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters. Custom date filtering requires both startDate and endDate. LinkedIn accepts dates from the date one year ago through yesterday. Each ad includes id, description, headline, adType, advertiser, targeting details, image or video URLs, totalImpressions, and impressionsByCountry. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. Supports pagination via paginationToken. Search results keep a consistent field set when detail hydration fails, with null or empty defaults for unavailable fields. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public See the live schema below for the complete notes.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.company` | `string` | No | — | The company name to search for. 'Microsoft' for example |
| `payload.keyword` | `string` | No | — | The keyword to search for |
| `payload.companyId` | `string` | No | — | The company id to search for |
| `payload.countries` | `string` | No | — | Comma separated list of countries. Example: US,CA,MX |
| `payload.startDate` | `string` | No | — | Start date in YYYY-MM-DD format. Must be used with endDate and cannot be earlier than the date one year ago. |
| `payload.endDate` | `string` | No | — | End date in YYYY-MM-DD format. Must be used with startDate and cannot be today or a future date. |
| `payload.paginationToken` | `string` | No | — | Pagination token to paginate through results |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Searches the LinkedIn Ad Library by company name, keyword, or companyId with optional country and date filters. Custom date filtering requires both startDate and endDate. LinkedIn accepts dates from the date one year ago through yesterday. Each ad includes id, description, headline, adType, advertiser, targeting details, image or video URLs, totalImpressions, and impressionsByCountry. Date and impression fields are nullable when LinkedIn does not expose them on the public ad page. Supports pagination via paginationToken. Search results keep a consistent field set when detail hydration fails, with null or empty defaults for unavailable fields. The existing image, video, organicVideo, preRollVideo, and carouselImages fields keep their previous values. paidForBy is the public paying entity when LinkedIn shows one, without the 'Paid for by' prefix. targetingTable lists the public targeting-category flags that LinkedIn shows; it does not expand a collapsed location summary into individual locations. imageSources and thumbnailSources list the creative-image and video-poster URLs LinkedIn supplies. videoSources lists native video renditions as { src, type, bitrate }; preRollVideoSources uses the same structure but contains only pre-roll ad video. type and bitrate are null when absent; bitrate is in bits per second. Choose the lowest positive bitrate for a smaller video download, rather than assuming source order ranks quality. All four source fields are arrays and are empty when unavailable. Document-cover previews are included in imageSources where available, including search fallback results. LinkedIn may expose only one image or thumbnail resolution; URLs are signed and should not be rewritten to guess smaller sizes. Search detail hydration is best-effort, so blocked or timed-out detail fetches can leave videoSources empty even for a video ad. No extra parameter or credit charge is required. adDuration is the ad availability date-range text, not video playback duration; it is an empty string with null startDate/endDate when LinkedIn does not publish the availability block.",
    "properties": {
      "company": {
        "type": "string",
        "description": "The company name to search for. 'Microsoft' for example"
      },
      "keyword": {
        "type": "string",
        "description": "The keyword to search for"
      },
      "companyId": {
        "type": "string",
        "description": "The company id to search for"
      },
      "countries": {
        "type": "string",
        "description": "Comma separated list of countries. Example: US,CA,MX"
      },
      "startDate": {
        "type": "string",
        "description": "Start date in YYYY-MM-DD format. Must be used with endDate and cannot be earlier than the date one year ago."
      },
      "endDate": {
        "type": "string",
        "description": "End date in YYYY-MM-DD format. Must be used with startDate and cannot be today or a future date."
      },
      "paginationToken": {
        "type": "string",
        "description": "Pagination token to paginate through results"
      }
    },
    "required": [],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

Standard tool result payload.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `unknown` | Yes | — | Provider response payload. |
| `result.meta` | `object` | No | — | Additional response metadata (status, paging). |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
  {
    "type": "object",
    "description": "Standard tool result payload.",
    "properties": {
      "data": {
        "description": "Provider response payload."
      },
      "meta": {
        "type": "object",
        "description": "Additional response metadata (status, paging).",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0.02` per pricing unit.

## Related documentation

* [ScrapeCreators provider guide](https://deepline.com/docs/providers/scrapecreators/guide.md)
* [SDK V2 quickstart](https://deepline.com/docs/sdk-v2/quickstart.md)
* [SDK reference](https://deepline.com/docs/sdk-v2/sdk-reference.md)
* [Run tools across a CSV](https://deepline.com/docs/sdk-v2/batch-csv.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.