# LinkedIn tools

Six public research tools implemented; search uses Google-indexed posts and commenters are samples. Live verification pending.

## Get a public LinkedIn profile

Tool: `linkedin_get_profile`

Public person details and recent activity. Full job history and current title are unavailable.

Endpoint: `POST /api/social/tools/linkedin_get_profile`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "maxLength": 101,
      "pattern": "^@?[\\p{L}\\p{N}._-]{1,100}$"
    },
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "additionalProperties": false
}
```

## Get a LinkedIn company

Tool: `linkedin_get_company`

Public company details, headcount and industry; also accepts school URLs.

Endpoint: `POST /api/social/tools/linkedin_get_company`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "maxLength": 101,
      "pattern": "^@?[\\p{L}\\p{N}._-]{1,100}$"
    },
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "additionalProperties": false
}
```

## Get LinkedIn company posts

Tool: `linkedin_get_company_posts`

One numbered page of company or school posts. The supplier supports at most seven pages.

Endpoint: `POST /api/social/tools/linkedin_get_company_posts`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "handle": {
      "type": "string",
      "maxLength": 101,
      "pattern": "^@?[\\p{L}\\p{N}._-]{1,100}$"
    },
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 16384
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "additionalProperties": false
}
```

## Get a LinkedIn post

Tool: `linkedin_get_post`

A public post or article with available engagement and visible commenters.

Endpoint: `POST /api/social/tools/linkedin_get_post`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
```

## Get visible LinkedIn commenters

Tool: `linkedin_get_comments`

Up to ten publicly visible comments from one post. No continuation or extra reply requests.

Endpoint: `POST /api/social/tools/linkedin_get_comments`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri"
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false
}
```

## Search indexed LinkedIn posts

Tool: `linkedin_search_posts`

One page of Google-indexed LinkedIn posts, not LinkedIn-native search. Supports date windows and signed continuation.

Endpoint: `POST /api/social/tools/linkedin_search_posts`

Cost: 5 product credits per call/page. No fixed number of rows per page. Use dry_run for the selected options' quote.

### Input JSON schema

```json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "since": {
      "default": "month",
      "type": "string",
      "enum": [
        "day",
        "week",
        "month",
        "year",
        "all"
      ]
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 16384
    },
    "provider": {
      "default": "scrapecreators",
      "type": "string",
      "const": "scrapecreators"
    },
    "dry_run": {
      "default": false,
      "type": "boolean"
    },
    "max_credits": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "idempotency_key": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_-]{8,100}$"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}
```
