# LinkedIn Posts URL (Profile) (`scrapier/linkedin-posts-url-profile`) Actor

🧩 LinkedIn Posts URL (Profile) extracts every post link from a LinkedIn profile with speed and accuracy. 🔎 Ideal for content research, competitor analysis, social listening, or archiving. ⚙️ Export clean URLs to CSV/JSON for automation, analytics, and lead gen.

- **URL**: https://apify.com/scrapier/linkedin-posts-url-profile.md
- **Developed by:** [Scrapier](https://apify.com/scrapier) (community)
- **Categories:** Social media, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

### LinkedIn Posts URL (Profile)

LinkedIn Posts URL (Profile) extracts public LinkedIn post links from people and company profiles — fast, accurate, and ready for analysis. It solves the tedious “how to get LinkedIn post URL” problem by automatically finding every direct link to posts in a profile’s public feed, including the canonical LinkedIn post permalink. Built for marketers, developers, data analysts, and researchers, it helps you find LinkedIn post URL on profile pages at scale, stream results live to a dataset, and export clean links for automation.

### What data / output can you get?

Use this actor to collect structured post link data, streamed live to your Apify dataset and ready to export to CSV/JSON for downstream workflows.

| Data field | Description | Example value |
| --- | --- | --- |
| url | Direct link to the LinkedIn post (permalink). | https://www.linkedin.com/feed/update/urn:li:activity:1234567890123456789 |
| type | Static label for the item type. | post |
| date | Post publish time in ISO 8601 (UTC). | 2026-04-27T12:34:56+00:00 |
| timestamp | Unix time (seconds) for the post. | 1714211696.0 |
| ref | The profile URL the post belongs to. | https://www.linkedin.com/in/christianlim/ |
| lookback_days | Echo of your days_since_post input used for the run. | 30 |
| filter_start_utc | Effective UTC window start (inclusive). | 2026-03-28T00:00:00+00:00 |
| filter_end_utc | Effective UTC window end (inclusive). | 2026-04-27T23:59:59.999999+00:00 |
| serial | Streaming row counter assigned as items are pushed. | 1 |

Notes:
- Items appear in your run’s dataset as they’re found — no need to wait for the full crawl to finish.
- Export to CSV or JSON in one click from the dataset.

### Key features

- 🔑 Bold pagination via LinkedIn’s Voyager feed (optional)  
  Provide your LinkedIn session cookie li_at to unlock the Voyager member feed API for /in/... profiles — enabling deeper pagination beyond public HTML.

- 🌐 Public HTML mode with JSON-LD + URN discovery  
  Without li_at, the actor crawls public profile and activity pages, parses JSON-LD, and follows activity URNs to discover post links cleanly.

- 🗓️ Precise date filtering (absolute and relative)  
  Control recency with days_since_post and optional start_date_range/end_date_range (supports “YYYY-MM-DD” and relative strings like “14 days”, “2 weeks”). Each row echoes the effective filter window.

- ⚡ Live streaming to dataset  
  Results are pushed in real time with a serial counter and logged as they’re collected — perfect for monitoring recent activity and social listening.

- 👥 People and company profiles supported  
  Works with both /in/... (member) and /company/... (organization) URLs to find LinkedIn post URL on profile pages you care about.

- 🌍 Optional proxy support  
  Use proxyConfiguration to route via Apify proxy when location sensitivity or rate limits require it. Off by default.

- 🚀 Async, parallel-by-URL architecture  
  Efficient asynchronous fetching helps collect data quickly across multiple input URLs.

### How to use LinkedIn Posts URL (Profile) - step by step

1) Sign in to Apify  
Create or log in to your Apify account.

2) Open the actor  
Search for “LinkedIn Posts URL (Profile)” and click Try for free.

3) Add profile URLs  
Paste LinkedIn profile links into urls — one per line. Supported formats include /in/... (people) and /company/... (brands).

4) Choose the time window  
Set days_since_post (required). Optionally refine with start_date_range and/or end_date_range. You can use absolute dates (YYYY-MM-DD) or relative values like “14 days”, “2 weeks”.

5) (Optional) Unlock deeper pagination for people profiles  
Paste your LinkedIn li_at cookie into li_at to enable the Voyager member feed API for /in/... profiles (company pages use public HTML).

6) (Optional) Configure proxy  
If you encounter rate limits or regional content differences, enable proxyConfiguration. It’s off by default.

7) Run the actor  
Click Start. Rows appear live in the dataset as they’re accepted, including the post permalink, UTC timestamp, and the effective filter window.

8) Export your results  
From the dataset, export to CSV or JSON for your workflow. Use the url field as the direct link to share or copy LinkedIn post link downstream.

Pro tip: When li_at isn’t set, public HTML often exposes around ~10 most recent posts on people profiles. Set li_at to retrieve older posts via authenticated pagination.

### Use cases

| Use case | Description |
| --- | --- |
| Competitor monitoring | Track rivals’ public posts by date window to benchmark cadence and themes. Export URLs for content analysis. |
| Content research | Collect post permalinks from thought leaders’ profiles to study engagement patterns and topics. |
| Social listening | Stream recent post links into your monitoring stack for alerts and qualitative review. |
| Marketing ops | Build a clean list of recent posts from brand or executive profiles for campaign roundups. |
| Analytics & reporting | Aggregate post timestamps and permalinks for time-series reporting and trend lines. |
| Academic & policy research | Capture recent activity windows for longitudinal studies or event analyses using reproducible, timestamped URLs. |
| Developer pipelines | Feed url and timestamp into your ETL or enrichment jobs for downstream processing and automation. |

### Why choose LinkedIn Posts URL (Profile)?

- 🎯 Precision-first extraction using JSON-LD, URN patterns, and (optionally) Voyager API for /in/... feeds.
- 🕒 Strong date controls with days_since_post and optional absolute/relative start/end bounds in UTC.
- 📥 Streamed results you can watch live — perfect for “recent activity” dashboards and workflows.
- 🧩 Developer-friendly structure with stable fields (url, timestamp, ref) for reliable downstream use.
- 🌐 Optional proxy for resilience under location/rate constraints — off by default to keep runs fast.
- 🛡️ Public-page focus for clear, predictable behavior without risky browser automation.
- 💡 Works across people and company profiles to cover most public posting surfaces.

The result: a reliable, production-oriented way to collect the direct link to LinkedIn post items from profiles you follow — without manual copy/paste.

### Is it legal / ethical to use LinkedIn Posts URL (Profile)?

Yes — when done responsibly. This actor reads publicly visible pages and, if you choose, your own authenticated session via li_at for member feeds. You are responsible for complying with LinkedIn’s terms and applicable laws.

Guidelines to follow:
- Only collect data from public pages you’re allowed to access.
- Respect platform terms and regional regulations (e.g., GDPR/CCPA applicability).
- Avoid using data for spam or misuse; keep usage ethical and transparent.
- Consult your legal team for edge cases and jurisdiction-specific rules.

### Input parameters & output format

Example JSON input
```json
{
  "urls": [
    "https://www.linkedin.com/in/christianlim/",
    "https://www.linkedin.com/company/microsoft/"
  ],
  "li_at": "",
  "days_since_post": 30,
  "start_date_range": "2026-03-28",
  "end_date_range": "0 days",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

Parameters

- urls (array, required)\
  Description: Paste one link per line — “/in/…” for people, “/company/…” for brands.\
  Default: none

- li\_at (string, optional)\
  Description: Optional — paste the li\_at cookie value for www.linkedin.com to enable the Voyager member feed API for “/in/…” profiles. Company pages still use HTML. You can also set the LI\_AT environment variable on the actor.\
  Default: ""

- days\_since\_post (integer, required)\
  Description: Main filter — only posts published on or after “now − this many days” (UTC). The actor dynamically scales crawl depth based on your chosen number. Each row repeats lookback\_days and shows filter\_start\_utc/filter\_end\_utc.\
  Default: 14 (range 1–1825)

- start\_date\_range (string, optional)\
  Description: Optional lower bound. Accepts absolute (YYYY-MM-DD) or relative values like “14 days”, “2 weeks”. Leave empty to ignore.\
  Default: none

- end\_date\_range (string, optional)\
  Description: Optional upper bound. Accepts absolute (YYYY-MM-DD) or relative values like “0 days” (≈ now). Leave empty to ignore.\
  Default: none

- proxyConfiguration (object, optional)\
  Description: Off by default — enables Apify proxy if your runs need managed IPs.\
  Default: { "useApifyProxy": false }

Example JSON output

```json
[
  {
    "url": "https://www.linkedin.com/feed/update/urn:li:activity:1234567890123456789",
    "type": "post",
    "date": "2026-04-27T12:34:56+00:00",
    "timestamp": 1714211696.0,
    "ref": "https://www.linkedin.com/in/christianlim/",
    "lookback_days": 30,
    "filter_start_utc": "2026-03-28T00:00:00+00:00",
    "filter_end_utc": "2026-04-27T23:59:59.999999+00:00",
    "serial": 1
  }
]
```

Notes:

- Rows are pushed live as they’re accepted.
- The url field is the direct link to share or copy LinkedIn post link downstream.
- If a member feed lacks a public date, the actor derives a timestamp from structured data or the activity ID, ensuring a stable linkedin post permalink reference.

### FAQ

#### Where do I find the direct link to a LinkedIn post in the output?

You’ll find it in the url field. This is the direct link to LinkedIn post and serves as the LinkedIn post permalink you can share or store. Export your dataset to CSV/JSON and use url wherever you need to copy LinkedIn post link.

#### Do I need to log in or provide cookies?

No for public pages. The actor scrapes public HTML without login. Optionally, you can supply li\_at to enable the Voyager member feed API for “/in/…” profiles, which allows deeper pagination beyond typical public HTML (~10 posts).

#### Does it work for both people and companies?

Yes. Provide /in/... or /company/... URLs in urls. The actor supports both member and organization profiles and will find LinkedIn post URL on profile pages accordingly.

#### How do the date filters work?

Set days\_since\_post to define the recency window. You can also add start\_date\_range and end\_date\_range using absolute dates (YYYY-MM-DD) or relative strings like “14 days” or “2 weeks”. Each output row includes filter\_start\_utc and filter\_end\_utc showing the effective UTC window.

#### How many posts can it retrieve without li\_at?

Public HTML for people profiles often exposes around ~10 recent posts. With li\_at set for “/in/…” profiles, the actor uses the Voyager member feed API to paginate further within your selected date window.

#### What does the output contain?

Each row includes url, type, date, timestamp, ref, lookback\_days, filter\_start\_utc, filter\_end\_utc, and a serial counter. This structure is designed for easy filtering, sorting, and automation.

#### Can I export results to use elsewhere?

Yes. Results stream into your Apify dataset, where you can export to CSV or JSON. Use the url field to share LinkedIn post share URL links or feed them into analytics pipelines.

#### Should I use a proxy?

Proxy is optional and off by default. If you encounter rate limits or need regional routing, enable proxyConfiguration to use Apify’s managed IPs.

### Closing thoughts

LinkedIn Posts URL (Profile) is built to extract clean, timestamped LinkedIn post permalinks from public people and company profiles at scale. With precise date filters, optional authenticated pagination for member feeds, and live dataset streaming, it equips marketers, developers, analysts, and researchers to move from manual copy-paste to automated, reliable link capture. Export to CSV/JSON, wire it into your workflows, and start capturing the LinkedIn post URL format you need for analysis and reporting — fast and accurately.

### What are other Linkedin scraping tools?

If you want to scrape specific Linkedin data, you can use any of the dedicated scrapers below for faster and more targeted results.

| Scraper Name | Scraper Name |
|---|---|
| [LinkedIn Ads Scraper](https://apify.com/scrapier/linkedin-ads-scraper) | [Linkedin Phone Number Scraper](https://apify.com/scrapier/linkedin-phone-number-scraper) |
| [Linkedin B2b Email Scraper](https://apify.com/scrapier/linkedin-b2b-email-scraper) | [LinkedIn Post Comments Engagements Scraper](https://apify.com/scrapier/linkedin-post-comments-engagements-scraper) |
| [Linkedin B2b Lead Scraper](https://apify.com/scrapier/linkedin-b2b-lead-scraper) | [LinkedIn Post Comments Scraper](https://apify.com/scrapier/linkedin-post-comments-scraper) |
| [Linkedin B2b Phone Number Scraper](https://apify.com/scrapier/linkedin-b2b-phone-number-scraper) | [Linkedin Post Reactions Scraper](https://apify.com/scrapier/linkedin-post-reactions-scraper) |
| [LinkedIn Company About Scraper](https://apify.com/scrapier/linkedin-company-about-scraper) | [LinkedIn Post Scraper](https://apify.com/scrapier/linkedin-post-scraper) |
| [LinkedIn Company Employees Scraper](https://apify.com/scrapier/linkedin-company-employees) | [Linkedin Profile And Company Posts Scraper](https://apify.com/scrapier/linkedin-profile-and-company-posts-scraper) |
| [Linkedin Company Employees Scraper](https://apify.com/scrapier/linkedin-company-employees-scraper) | [Linkedin Profile Email Scraper](https://apify.com/scrapier/linkedin-profile-email-scraper) |
| [Linkedin Company Profile Scraper](https://apify.com/scrapier/linkedin-company-profile-scraper) | [Linkedin Profile Lead Scraper](https://apify.com/scrapier/linkedin-profile-lead-scraper) |
| [LinkedIn Company Scraper](https://apify.com/scrapier/linkedin-company-scraper-actor) | [Linkedin Profile Phone Number Scraper](https://apify.com/scrapier/linkedin-profile-phone-number-scraper) |
| [Linkedin Email Scraper](https://apify.com/scrapier/linkedin-email-scraper) | [Linkedin Profile Post Scraper](https://apify.com/scrapier/linkedin-profile-post-scraper) |
| [Linkedin Jobs Scraper](https://apify.com/scrapier/linkedin-jobs-scraper) | [LinkedIn Profile Scraper](https://apify.com/scrapier/linkedin-profile-scraper) |
| [Linkedin Lead Scraper](https://apify.com/scrapier/linkedin-lead-scraper) | [LinkedIn Search Jobs Scraper](https://apify.com/scrapier/linkedin-search-jobs-scraper) |
| [Linkedin Open Profile Status](https://apify.com/scrapier/linkedin-open-profile-status) |  |

# Actor input Schema

## `urls` (type: `array`):

✅ Paste one link per line — `/in/…` for people, `/company/…` for brands.

💡 **Tip:** Run again anytime with a fresh list; your dataset grows with each run.

## `li_at` (type: `string`):

Optional — paste the **`li_at`** cookie value for **www.linkedin.com** (Chrome: F12 → Application → Cookies → `li_at`). Enables the **Voyager member feed API** for **`/in/…`** profiles (same as **link.py**): full pagination instead of public HTML (~10 posts). Company pages still use HTML. Alternative: set the **`LI_AT`** environment variable on the actor instead of this field.

## `days_since_post` (type: `integer`):

📆 **Main filter:** only posts **published on or after** “now − this many days” (UTC) are saved (any integer 1–1825; default **30 days**).

The actor **dynamically scales crawl depth** based on your chosen number — larger values visit more pages to find older posts.

🙌 Each row repeats `lookback_days` and shows the exact `filter_start_utc` / `filter_end_utc` used.

Optional start/end below can further narrow the window.

## `start_date_range` (type: `string`):

✨ Leave empty to ignore.

📌 **Absolute:** pick a calendar day.

⏱️ **Relative:** e.g. `14 days`, `2 weeks` from **now**.

## `end_date_range` (type: `string`):

✨ Leave empty to ignore.

📌 **Absolute** end day, or **relative** like `0 days` (≈ now).

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

🌐 **Off by default** — we try a fast direct connection first.

✨ Turn on if your runs need Apify’s managed IPs (regions vary).

## Actor input object example

```json
{
  "urls": [
    "https://www.linkedin.com/in/christianlim/"
  ],
  "li_at": "",
  "days_since_post": 14,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "urls": [
        "https://www.linkedin.com/in/christianlim/"
    ],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapier/linkedin-posts-url-profile").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 = {
    "urls": ["https://www.linkedin.com/in/christianlim/"],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("scrapier/linkedin-posts-url-profile").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 '{
  "urls": [
    "https://www.linkedin.com/in/christianlim/"
  ],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call scrapier/linkedin-posts-url-profile --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapier/linkedin-posts-url-profile",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "LinkedIn Posts URL (Profile)",
        "description": "🧩 LinkedIn Posts URL (Profile) extracts every post link from a LinkedIn profile with speed and accuracy. 🔎 Ideal for content research, competitor analysis, social listening, or archiving. ⚙️ Export clean URLs to CSV/JSON for automation, analytics, and lead gen.",
        "version": "1.0",
        "x-build-id": "AtBilxuV6Rr2zbSHl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapier~linkedin-posts-url-profile/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapier-linkedin-posts-url-profile",
                "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/scrapier~linkedin-posts-url-profile/runs": {
            "post": {
                "operationId": "runs-sync-scrapier-linkedin-posts-url-profile",
                "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/scrapier~linkedin-posts-url-profile/run-sync": {
            "post": {
                "operationId": "run-sync-scrapier-linkedin-posts-url-profile",
                "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": [
                    "urls",
                    "days_since_post"
                ],
                "properties": {
                    "urls": {
                        "title": "🔗 Profile or company URLs",
                        "type": "array",
                        "description": "✅ Paste one link per line — `/in/…` for people, `/company/…` for brands.\n\n💡 **Tip:** Run again anytime with a fresh list; your dataset grows with each run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "li_at": {
                        "title": "🔑 LinkedIn session (`li_at`)",
                        "type": "string",
                        "description": "Optional — paste the **`li_at`** cookie value for **www.linkedin.com** (Chrome: F12 → Application → Cookies → `li_at`). Enables the **Voyager member feed API** for **`/in/…`** profiles (same as **link.py**): full pagination instead of public HTML (~10 posts). Company pages still use HTML. Alternative: set the **`LI_AT`** environment variable on the actor instead of this field.",
                        "default": ""
                    },
                    "days_since_post": {
                        "title": "⏳ Look back (days)",
                        "minimum": 1,
                        "maximum": 1825,
                        "type": "integer",
                        "description": "📆 **Main filter:** only posts **published on or after** “now − this many days” (UTC) are saved (any integer 1–1825; default **30 days**).\n\nThe actor **dynamically scales crawl depth** based on your chosen number — larger values visit more pages to find older posts.\n\n🙌 Each row repeats `lookback_days` and shows the exact `filter_start_utc` / `filter_end_utc` used.\n\nOptional start/end below can further narrow the window.",
                        "default": 14
                    },
                    "start_date_range": {
                        "title": "🟢 Optional — not before",
                        "type": "string",
                        "description": "✨ Leave empty to ignore.\n\n📌 **Absolute:** pick a calendar day.\n\n⏱️ **Relative:** e.g. `14 days`, `2 weeks` from **now**."
                    },
                    "end_date_range": {
                        "title": "🔴 Optional — not after",
                        "type": "string",
                        "description": "✨ Leave empty to ignore.\n\n📌 **Absolute** end day, or **relative** like `0 days` (≈ now)."
                    },
                    "proxyConfiguration": {
                        "title": "🌍 Proxy (optional)",
                        "type": "object",
                        "description": "🌐 **Off by default** — we try a fast direct connection first.\n\n✨ Turn on if your runs need Apify’s managed IPs (regions vary)."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
