# LinkedIn Post Reshares & Reposts Scraper - No Cookies (`qaseemiqbal/linkedin-post-reshares-reposts-scraper`) Actor

Extract public LinkedIn post reshares/reposts without cookies. Get reposter profiles, repost text, timestamps, engagement metrics, media, and source post context.

- **URL**: https://apify.com/qaseemiqbal/linkedin-post-reshares-reposts-scraper.md
- **Developed by:** [Muhammad Qaseem Iqbal](https://apify.com/qaseemiqbal) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What is LinkedIn Post Reshares & Reposts Scraper?

LinkedIn Post Reshares & Reposts Scraper extracts public reshare/repost data from LinkedIn posts without requiring LinkedIn cookies or a LinkedIn account login. Paste one or more LinkedIn post URLs, click **Start**, and get a structured dataset with reposter details, repost text, timestamps, engagement metrics, media, and original post context.

Use it to understand who amplified a LinkedIn post, what they said when they reshared it, and which reposts generated engagement. It is useful for B2B marketers, sales teams, recruiters, agencies, analysts, PR teams, and developers who need LinkedIn repost data in CSV, Excel, JSON, or through the Apify API.

### What can LinkedIn Post Reshares & Reposts Scraper do?

- **Extract public LinkedIn reshares:** collect reposts/reshares for a LinkedIn post URL or activity ID.
- **Identify people and companies amplifying a post:** get reposter names, headlines, profile URLs, and profile images when available.
- **Analyze repost commentary:** capture the text added by each reposter, including quote-style reposts.
- **Measure repost engagement:** extract reaction, comment, and share counts where LinkedIn exposes them publicly.
- **Keep original post context:** include the source post URL, text, author, post type, and media so exports are easy to analyze.
- **Process multiple posts in one run:** paste a list of LinkedIn post URLs and collect repost data for each one.
- **Control pagination and cost:** use automatic pagination for convenience or manual page mode when you want precise page-by-page extraction.
- **Automate workflows on Apify:** schedule runs, monitor results, export datasets, use the API, connect webhooks, and send data to other tools.

### What data can you extract?

| Data point | Description |
|---|---|
| Source post URL | The LinkedIn post URL or activity URL used as input. |
| Source post ID | Normalized LinkedIn post/activity identifier when available. |
| Source post text | Text from the original post, if publicly available. |
| Source author | Name, profile/company URL, headline, and image for the original author when available. |
| Reposter name | Person or company that reshared the post. |
| Reposter profile URL | LinkedIn profile or company page URL for the reposter. |
| Reposter headline | Headline, subtitle, role, or company description shown with the repost. |
| Reposter image | Avatar or company logo URL when available. |
| Repost text | Commentary added by the reposter. Empty if the post was reshared without commentary. |
| Repost URL | Direct URL to the repost/reshare when available. |
| Repost timestamp | Absolute or relative time when the repost was published. |
| Engagement metrics | Reactions, comments, and share/repost counts where available. |
| Media | Images, videos, documents, articles, or other media metadata when available. |
| Page and position | Pagination and ordering metadata for traceability. |
| Scraped timestamp | Time when the Actor extracted the record. |

### How to use LinkedIn Post Reshares & Reposts Scraper

1. Open the Actor on Apify.
2. Paste one or more LinkedIn post URLs or activity IDs into **LinkedIn post URLs or IDs**.
3. Set **Maximum reshares per post** if you want more or fewer results.
4. Keep **Pagination mode** set to **Automatic** unless you want to scrape one specific page.
5. Click **Start**.
6. Open the **Dataset** tab to preview results.
7. Export the dataset as JSON, CSV, Excel, XML, or another supported Apify format.

No coding is required for normal use. Developers can run the same scraper with the Apify API, Apify JavaScript client, Apify Python client, schedules, and webhooks.

### Input

The main input is a list of LinkedIn post URLs or post IDs. For most users, the default settings are enough: paste the URLs, keep automatic pagination enabled, and choose how many reshares to collect per post.

| Input field | Type | Required | Description |
|---|---:|---:|---|
| `postUrls` | array | Yes | LinkedIn post URLs, feed update URLs, activity URLs, or supported post/activity IDs. |
| `maxResharesPerPost` | integer | No | Maximum number of repost records to save per source post. Default: `100`. |
| `paginationMode` | string | No | `automatic` collects pages until the limit is reached. `manual` collects one page. |
| `pageNumber` | integer | No | Page number for manual mode. Ignored in automatic mode. |
| `resultsPerPage` | integer | No | Number of results requested per page. Maximum value: `100`. |
| `includeOriginalPost` | boolean | No | Include original post text, author, URL, and post type. |
| `includeMedia` | boolean | No | Include media URLs and metadata when available. |
| `includeEngagement` | boolean | No | Include reaction, comment, and share counts when available. |
| `deduplicateResults` | boolean | No | Remove duplicate repost records across pages and inputs. |
| `saveErrorsToDataset` | boolean | No | Save invalid URL or unavailable post errors as dataset rows. |
| `includeRawData` | boolean | No | Include raw source fragments for debugging. This can increase dataset size. |
| `proxyConfiguration` | object | No | Proxy settings. Apify Proxy is recommended for reliability. |
| `maxConcurrency` | integer | No | Maximum number of concurrent requests. Conservative defaults are recommended. |
| `requestDelayMs` | integer | No | Delay between requests in milliseconds. Increase if you see rate limits. |
| `debugLog` | boolean | No | Enables verbose troubleshooting logs. |

#### Example input

```json
{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/",
    "https://www.linkedin.com/posts/example_activity-7340000000000000000-abcd"
  ],
  "maxResharesPerPost": 250,
  "paginationMode": "automatic",
  "includeOriginalPost": true,
  "includeMedia": true,
  "includeEngagement": true,
  "deduplicateResults": true
}
````

#### Manual pagination example

```json
{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/"
  ],
  "paginationMode": "manual",
  "pageNumber": 2,
  "resultsPerPage": 100
}
```

#### Input tips

- Use LinkedIn post URLs, feed update URLs, activity URLs, or supported post IDs.
- Do not use LinkedIn profile URLs, company page URLs, search URLs, or hashtag URLs as source inputs.
- Duplicate URLs are skipped when deduplication is enabled.
- Automatic pagination is easiest for most users.
- Manual pagination is useful when you want page 1, page 2, page 3, and so on as separate runs.
- Higher result limits can increase runtime, proxy usage, and Compute Units.
- Some LinkedIn posts may not expose public reshare data.

### Output

Results are saved to the default Apify dataset. Each successful row represents one LinkedIn reshare/repost. You can preview the dataset in Apify Console or export it as JSON, CSV, Excel, XML, HTML, or other supported formats.

For batch runs, every row includes source post fields so you can group results by the original LinkedIn post in spreadsheets, BI tools, CRMs, or custom scripts.

#### Example output

```json
{
  "recordType": "reshare",
  "sourcePostId": "7340000000000000000",
  "sourcePostUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/",
  "sourcePostText": "We just published our annual B2B content benchmark report.",
  "sourcePostType": "document",
  "sourceAuthorName": "Example Analytics",
  "sourceAuthorProfileUrl": "https://www.linkedin.com/company/example-analytics/",
  "reshareId": "7351111111111111111",
  "reshareUrl": "https://www.linkedin.com/feed/update/urn:li:activity:7351111111111111111/",
  "reshareText": "Useful benchmark data for anyone planning LinkedIn campaigns this quarter.",
  "reshareType": "quote_repost",
  "resharedAt": "2026-06-16T09:24:00.000Z",
  "resharedAtRelative": "1d",
  "reposterName": "Jane Smith",
  "reposterProfileUrl": "https://www.linkedin.com/in/jane-smith-example/",
  "reposterHeadline": "Demand Generation Manager | B2B SaaS",
  "reposterImageUrl": "https://media.licdn.com/dms/image/example-profile",
  "reposterType": "person",
  "reactionCount": 42,
  "commentCount": 7,
  "shareCount": 3,
  "media": [
    {
      "type": "image",
      "url": "https://media.licdn.com/dms/image/example-image",
      "alt": "Preview image from reshared post"
    }
  ],
  "pageNumber": 1,
  "position": 1,
  "dedupeKey": "7340000000000000000:7351111111111111111",
  "scrapedAt": "2026-06-17T12:00:00.000Z"
}
```

#### Error output example

If a URL is invalid or a post is unavailable, the Actor can save an error row instead of silently skipping it.

```json
{
  "recordType": "error",
  "input": "https://www.linkedin.com/in/example-profile/",
  "sourcePostUrl": null,
  "sourcePostId": null,
  "errorCode": "UNSUPPORTED_URL",
  "errorMessage": "The input is a LinkedIn profile URL, not a post URL.",
  "isRetryable": false,
  "pageNumber": null,
  "scrapedAt": "2026-06-17T12:00:00.000Z"
}
```

### How much does it cost to use LinkedIn Post Reshares & Reposts Scraper?

The final Store pricing model should be confirmed by the Actor owner before publishing. Runtime cost depends mainly on:

- Number of LinkedIn posts in the input
- Number of reshares requested per post
- Pagination depth
- Proxy usage
- Whether browser rendering is needed in a future extraction mode
- Memory and concurrency settings
- LinkedIn response speed and availability

Small runs with one post and a low result limit should be cheaper than large batch runs collecting thousands of reshares. For cost control, start with a lower `maxResharesPerPost`, keep default concurrency, and increase limits only after checking the dataset quality.

Do not assume every post has extractable reshare data. Deleted, private, restricted, or low-engagement posts may return few or no results.

### Integrations and API

Because results are stored in Apify datasets, you can use LinkedIn Post Reshares & Reposts Scraper as a no-code tool or as a LinkedIn repost data API.

You can:

- Run the Actor manually in Apify Console.
- Schedule recurring runs to monitor campaign posts.
- Export results to CSV, Excel, JSON, XML, or HTML.
- Connect runs to webhooks.
- Send data to Google Sheets, Make, Zapier, Slack, Airbyte, or your own API.
- Use the Apify API from Node.js, Python, or any HTTP client.

#### API usage notes

With the Apify API, send the same JSON input shown above. After the run finishes, read the default dataset to get repost records.

Typical automation flow:

1. Start the Actor with post URLs.
2. Wait for run completion or receive a webhook.
3. Fetch dataset items.
4. Send results to your CRM, BI tool, database, or reporting workflow.

Use the official Apify API clients when you want to run the Actor from code. The same input works for a Python LinkedIn scraper workflow, a Node.js LinkedIn scraper workflow, or any HTTP-based automation.

### Responsible use and legality

This Actor is intended to extract publicly available LinkedIn post reshare information. It does not require LinkedIn cookies and should not be used to access private, restricted, or login-only content.

You are responsible for using the data lawfully and for complying with LinkedIn's terms, applicable privacy laws, and regulations such as GDPR, CCPA, and other local requirements. Repost data may include personal data such as names, profile URLs, headlines, and profile images. Make sure you have a legitimate reason to process the data and respect deletion, retention, and data-subject rights where applicable.

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by LinkedIn Corporation. LinkedIn is a trademark of LinkedIn Corporation. This README is not legal advice.

### FAQ

#### Can I scrape LinkedIn post reshares without cookies?

Yes. This Actor is designed for public LinkedIn post reshare extraction without asking for LinkedIn cookies or account login. Results depend on what LinkedIn exposes publicly for the provided post.

#### Does it work with any LinkedIn post?

It is intended for public LinkedIn post URLs and activity IDs. It may not work with private posts, deleted posts, restricted posts, posts requiring login, unsupported URL types, or posts where LinkedIn does not expose reshare data.

#### What is the difference between automatic and manual pagination?

Automatic pagination keeps collecting pages until the Actor reaches `maxResharesPerPost` or no more results are available. Manual pagination collects only one page, controlled by `pageNumber` and `resultsPerPage`.

#### How many reshares can I extract?

The Actor supports up to the configured maximum per post, with `resultsPerPage` capped at 100. Very large runs may take longer and cost more. Completeness depends on public availability, pagination behavior, and target-site reliability.

#### Can I export LinkedIn repost data to CSV or Excel?

Yes. Open the dataset after the run and export results as CSV, Excel, JSON, XML, or other supported Apify dataset formats.

#### Can I use this as a LinkedIn repost API?

Yes. Run the Actor through the Apify API and read results from the default dataset. This is useful for dashboards, CRM enrichment, campaign reporting, and monitoring workflows.

#### Does the Actor download images or videos?

By default, it stores media URLs and metadata when available. It does not download large binary media files.

#### Why are some timestamps relative instead of exact dates?

LinkedIn may expose relative timestamps such as `2h`, `1d`, or `3w` in some views. When an exact timestamp is not reliably available, the Actor preserves the relative value and leaves the absolute timestamp as `null`.

#### Why did I get zero results?

Possible reasons include: the post has no public reshares, the post is private or deleted, the URL is unsupported, LinkedIn restricted the data, or the target page changed. Check the dataset for error rows and the run log for warnings.

### Troubleshooting

| Problem | Possible cause | What to try |
|---|---|---|
| No results returned | The post has no public reshares or reshare data is hidden. | Test another public post with known reshares. Lower advanced settings to defaults. |
| `UNSUPPORTED_URL` error | Input is not a LinkedIn post/activity URL. | Use a LinkedIn feed update URL, activity URL, post URL, or supported post ID. |
| Run is slow | High result limit, many posts, proxy latency, or browser rendering. | Reduce `maxResharesPerPost`, lower batch size, or keep default concurrency. |
| Rate limiting or blocked requests | Too many requests or proxy/session issue. | Enable Apify Proxy, reduce concurrency, increase `requestDelayMs`, and retry later. |
| Missing engagement metrics | LinkedIn did not expose metrics for that repost. | Keep `includeEngagement` enabled, but expect some fields to be `null`. |
| Duplicate-looking rows | Same repost appeared across pages or input URLs. | Keep `deduplicateResults` enabled. Use `dedupeKey` for downstream deduplication. |
| Output has relative timestamps only | Exact timestamp was not available. | Use `resharedAtRelative` for display and `scrapedAt` for extraction time context. |
| Some posts failed in a batch | Individual posts may be invalid, unavailable, or restricted. | Check `recordType: "error"` rows and rerun only failed valid URLs. |

### Support and feedback

Use the **Issues** tab on Apify to report bugs, ask questions, or request features. Include the run ID, input example, expected behavior, and a short description of the problem.

Useful feature requests may include recurring "new reposts only" monitoring, CSV upload, date filtering, minimum engagement filters, CRM integration templates, or deeper profile enrichment through related Actors.

# Actor input Schema

## `postUrls` (type: `array`):

Enter one or more LinkedIn post URLs, feed update URLs, activity URLs, or supported LinkedIn post/activity IDs. Do not enter profile URLs, company page URLs, search URLs, or hashtag URLs.

## `maxResharesPerPost` (type: `integer`):

Maximum number of reshare/repost records to save for each source post. Higher values can increase runtime, proxy usage, and Compute Units.

## `paginationMode` (type: `string`):

Use automatic mode to keep collecting pages until the limit is reached. Use manual mode to extract only one page when you want precise page-by-page control.

## `pageNumber` (type: `integer`):

Page number to extract when Pagination mode is set to Manual. Ignored in Automatic mode.

## `resultsPerPage` (type: `integer`):

Number of reshares requested per page. The maximum value is 100.

## `includeOriginalPost` (type: `boolean`):

Include source post text, author, URL, post type, and related metadata in each output record when available.

## `includeMedia` (type: `boolean`):

Include image, video, article, document, and other media URLs or metadata from reposts and original posts when available.

## `includeEngagement` (type: `boolean`):

Include reaction, comment, and share/repost counts where LinkedIn exposes them publicly.

## `deduplicateResults` (type: `boolean`):

Remove duplicate repost records detected across pages or duplicate input URLs.

## `saveErrorsToDataset` (type: `boolean`):

Save structured error rows for invalid URLs, unavailable posts, blocked requests, or posts with inaccessible reshare data.

## `includeRawData` (type: `boolean`):

Include raw source fragments used to build each record. Useful for support and debugging, but it can increase dataset size.

## `proxyConfiguration` (type: `object`):

Proxy settings used for requests. Apify Proxy is recommended for better reliability on public LinkedIn pages.

## `maxConcurrency` (type: `integer`):

Maximum number of post/page requests processed at the same time. Keep this conservative for better reliability.

## `requestDelayMs` (type: `integer`):

Minimum delay between requests per session. Increase this if you see rate limiting or blocking.

## `maxRequestRetries` (type: `integer`):

How many times to retry failed requests before saving an error and moving on.

## `debugLog` (type: `boolean`):

Enable verbose logs for troubleshooting. Usually not needed for normal runs.

## Actor input object example

```json
{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/"
  ],
  "maxResharesPerPost": 100,
  "paginationMode": "automatic",
  "pageNumber": 1,
  "resultsPerPage": 100,
  "includeOriginalPost": true,
  "includeMedia": true,
  "includeEngagement": true,
  "deduplicateResults": true,
  "saveErrorsToDataset": true,
  "includeRawData": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxConcurrency": 3,
  "requestDelayMs": 500,
  "maxRequestRetries": 3,
  "debugLog": false
}
```

# Actor output Schema

## `reshares` (type: `string`):

Extracted LinkedIn reshare/repost records and structured error rows.

## `summary` (type: `string`):

Summary of processed posts, successes, failures, duplicates, and total reshares.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "postUrls": [
        "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("qaseemiqbal/linkedin-post-reshares-reposts-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "postUrls": ["https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/"] }

# Run the Actor and wait for it to finish
run = client.actor("qaseemiqbal/linkedin-post-reshares-reposts-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "postUrls": [
    "https://www.linkedin.com/feed/update/urn:li:activity:7340000000000000000/"
  ]
}' |
apify call qaseemiqbal/linkedin-post-reshares-reposts-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=qaseemiqbal/linkedin-post-reshares-reposts-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Post Reshares & Reposts Scraper - No Cookies",
        "description": "Extract public LinkedIn post reshares/reposts without cookies. Get reposter profiles, repost text, timestamps, engagement metrics, media, and source post context.",
        "version": "0.1",
        "x-build-id": "kXol4brSUeM8to3id"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/qaseemiqbal~linkedin-post-reshares-reposts-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-qaseemiqbal-linkedin-post-reshares-reposts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/qaseemiqbal~linkedin-post-reshares-reposts-scraper/runs": {
            "post": {
                "operationId": "runs-sync-qaseemiqbal-linkedin-post-reshares-reposts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/qaseemiqbal~linkedin-post-reshares-reposts-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-qaseemiqbal-linkedin-post-reshares-reposts-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "postUrls"
                ],
                "properties": {
                    "postUrls": {
                        "title": "LinkedIn post URLs or IDs",
                        "minItems": 1,
                        "type": "array",
                        "description": "Enter one or more LinkedIn post URLs, feed update URLs, activity URLs, or supported LinkedIn post/activity IDs. Do not enter profile URLs, company page URLs, search URLs, or hashtag URLs.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResharesPerPost": {
                        "title": "Maximum reshares per post",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of reshare/repost records to save for each source post. Higher values can increase runtime, proxy usage, and Compute Units.",
                        "default": 100
                    },
                    "paginationMode": {
                        "title": "Pagination mode",
                        "enum": [
                            "automatic",
                            "manual"
                        ],
                        "type": "string",
                        "description": "Use automatic mode to keep collecting pages until the limit is reached. Use manual mode to extract only one page when you want precise page-by-page control.",
                        "default": "automatic"
                    },
                    "pageNumber": {
                        "title": "Page number",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Page number to extract when Pagination mode is set to Manual. Ignored in Automatic mode.",
                        "default": 1
                    },
                    "resultsPerPage": {
                        "title": "Results per page",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Number of reshares requested per page. The maximum value is 100.",
                        "default": 100
                    },
                    "includeOriginalPost": {
                        "title": "Include original post data",
                        "type": "boolean",
                        "description": "Include source post text, author, URL, post type, and related metadata in each output record when available.",
                        "default": true
                    },
                    "includeMedia": {
                        "title": "Include media",
                        "type": "boolean",
                        "description": "Include image, video, article, document, and other media URLs or metadata from reposts and original posts when available.",
                        "default": true
                    },
                    "includeEngagement": {
                        "title": "Include engagement metrics",
                        "type": "boolean",
                        "description": "Include reaction, comment, and share/repost counts where LinkedIn exposes them publicly.",
                        "default": true
                    },
                    "deduplicateResults": {
                        "title": "Deduplicate results",
                        "type": "boolean",
                        "description": "Remove duplicate repost records detected across pages or duplicate input URLs.",
                        "default": true
                    },
                    "saveErrorsToDataset": {
                        "title": "Save errors to dataset",
                        "type": "boolean",
                        "description": "Save structured error rows for invalid URLs, unavailable posts, blocked requests, or posts with inaccessible reshare data.",
                        "default": true
                    },
                    "includeRawData": {
                        "title": "Include raw data",
                        "type": "boolean",
                        "description": "Include raw source fragments used to build each record. Useful for support and debugging, but it can increase dataset size.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings used for requests. Apify Proxy is recommended for better reliability on public LinkedIn pages.",
                        "default": {
                            "useApifyProxy": true
                        }
                    },
                    "maxConcurrency": {
                        "title": "Maximum concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of post/page requests processed at the same time. Keep this conservative for better reliability.",
                        "default": 3
                    },
                    "requestDelayMs": {
                        "title": "Request delay in milliseconds",
                        "minimum": 0,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Minimum delay between requests per session. Increase this if you see rate limiting or blocking.",
                        "default": 500
                    },
                    "maxRequestRetries": {
                        "title": "Maximum request retries",
                        "minimum": 0,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many times to retry failed requests before saving an error and moving on.",
                        "default": 3
                    },
                    "debugLog": {
                        "title": "Debug log",
                        "type": "boolean",
                        "description": "Enable verbose logs for troubleshooting. Usually not needed for normal runs.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
