> **For coding agents and LLMs:** This is one page from the Social Fetch docs (markdown export). For curated orientation and workflow guidance, start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for agent onboarding and crawl rules, use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for the full endpoint list with links to pages like this one, use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt); for one platform's parameters and curls, use [`/llms-{platform}.txt`](https://www.socialfetch.dev/llms-tiktok.txt); use [`/llms.json`](https://www.socialfetch.dev/llms.json) when you need structured JSON for tool registration.

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/docs/integrations/n8n/watch-for-new-posts>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/docs/integrations/n8n/watch-for-new-posts.mdx>

## API base URL and authentication

- **API origin (from OpenAPI `servers`):** `https://api.socialfetch.dev`
- **Authentication:** send `x-api-key: sfk_...` on `/v1/**` and `/v2/**` routes unless the operation is explicitly anonymous (check OpenAPI `security`, the [API reference hub](https://www.socialfetch.dev/docs/api.mdx), [`/llms.txt`](https://www.socialfetch.dev/llms.txt), or [`/llms.json`](https://www.socialfetch.dev/llms.json) for each route).
- **OpenAPI JSON:** <https://www.socialfetch.dev/openapi.json>

## Recommended docs entrypoints (this site)

- [Documentation overview](https://www.socialfetch.dev/docs.mdx) — top-level orientation (markdown).
- [Quickstart](https://www.socialfetch.dev/docs/quickstart.mdx) — authenticate with `x-api-key`, validate auth with `whoami`, and understand the JSON envelope.
- [SDK](https://www.socialfetch.dev/docs/sdk.mdx) — official TypeScript SDK guide, including `SocialFetchClient`, `Result`, and `unwrap()`.
- [Capability matrix](https://www.socialfetch.dev/docs/capability-matrix.mdx) — every operation with identifiers, pagination, outcomes, media download, credits, and its SDK method. Generated from OpenAPI, so use it for route selection instead of scanning individual pages.
- [Recipes](https://www.socialfetch.dev/docs/recipes.mdx) — copyable workflows (brand monitoring, transcripts, Ad Library, creator scoring, Reddit research) with credit callouts and SDK examples.
- [Integrations](https://www.socialfetch.dev/docs/integrations.mdx) — MCP for AI clients, n8n verified node, Apify Store Actors, Make custom app, SDK, and REST API connection paths.
- [MCP product page](https://www.socialfetch.dev/mcp) — hosted MCP overview, OAuth, Skills install.
- [MCP integration](https://www.socialfetch.dev/docs/integrations/mcp.mdx) — hosted `/mcp` server, OAuth, Cursor/VS Code/Claude install snippets, 264 endpoint tools, plus docs_search/docs_read for implementation help.
- [n8n integration](https://www.socialfetch.dev/docs/integrations/n8n.mdx) — install `n8n-nodes-socialfetch`, credentials, and workflow examples.
- [Apify integration](https://www.socialfetch.dev/docs/integrations/apify.mdx) — Store Actors under @social-fetch, PPE billing, dataset export, and quick start.
- [Make integration](https://www.socialfetch.dev/docs/integrations/make.mdx) — custom app modules for Make scenarios, API key credentials, and module catalog.
- [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt) — every documented operation with a direct link to that route's agent-readable markdown page (prefer this over parsing OpenAPI).
- [`/llms-{platform}.txt`](https://www.socialfetch.dev/llms-tiktok.txt) — per-platform endpoint files generated from OpenAPI (parameters, credits, curls).
- [`/agents.txt`](https://www.socialfetch.dev/agents.txt) — agent crawl/onboarding file with capabilities, auth rules, and allowlist.
- [`/llms.json`](https://www.socialfetch.dev/llms.json) — structured machine-readable operation inventory with parameter names, pagination, outcomes, credits, and SDK mapping.
- [API reference hub](https://www.socialfetch.dev/docs/api.mdx) — human-friendly index of operations with links into generated pages.
- [Errors](https://www.socialfetch.dev/docs/errors.mdx) — shared error envelope and HTTP status guidance.
- [Credits](https://www.socialfetch.dev/docs/credits.mdx) — metering, `402`, and planning batch jobs.
- Outcome semantics such as `found`, `not_found`, and `private` are documented in [Errors](https://www.socialfetch.dev/docs/errors.mdx) and on operation pages when present in the OpenAPI contract.

## Markdown docs convention

- Every docs page has a markdown twin: append **`.mdx`** to the docs pathname (for example `/docs/quickstart` → `/docs/quickstart.mdx`).
- Agents that send `Accept: text/markdown` on `/docs/**` HTML URLs may receive markdown directly (same URL, `Vary: Accept`).
- Published blog posts use the same convention: `/blog/{slug}` → `/blog/{slug}.mdx`, or `Accept: text/markdown` on the HTML URL (`Vary: Accept`).

---
# Social Fetch Trigger: run n8n workflows on new posts (https://www.socialfetch.dev/docs/integrations/n8n/watch-for-new-posts)

The **Social Fetch Trigger** starts your workflow when something new is posted: a creator's next TikTok, a brand's new Instagram post, a YouTube upload, a tweet from an account you follow, or a Reddit post that mentions your product. Each new post becomes one item, so the next node can send it to Slack, email, a sheet or an AI agent.

Behind the scenes, the trigger creates a [monitor](/docs/monitors) in your Social Fetch account. Social Fetch checks the source on your schedule and calls your workflow when a check finds new posts. When you unpublish the workflow or delete the trigger, the monitor is deleted too.

## What it can watch

Pick one of these in the **Watch** field. The node shows only the fields that option needs.

| Platform    | Watch                                         | Fill in                                                                                                                      |
| ----------- | --------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| TikTok      | New videos from a profile                     | Handle                                                                                                                       |
| TikTok      | New videos matching a search, or a Top search | Search Query                                                                                                                 |
| Instagram   | New posts, or new reels, from a profile       | Handle                                                                                                                       |
| Instagram   | New tagged posts from a profile               | Instagram User ID (from the Social Fetch node's Instagram profile lookup)                                                    |
| Instagram   | New posts for a hashtag                       | Search Query (the hashtag, without #)                                                                                        |
| YouTube     | New videos from a channel                     | Handle or YouTube Channel ID                                                                                                 |
| X (Twitter) | New tweets from a profile                     | Handle                                                                                                                       |
| X (Twitter) | New tweets matching a search                  | Search Query                                                                                                                 |
| LinkedIn    | New posts from a person, or an organisation   | LinkedIn Person Entity ID or LinkedIn Organisation ID (from the Social Fetch node's LinkedIn Profile or Organization lookup) |
| Reddit      | New posts in a subreddit                      | Subreddit                                                                                                                    |
| Reddit      | New posts matching a search across Reddit     | Search Query                                                                                                                 |
| Reddit      | New posts matching a search in a subreddit    | Subreddit, and optionally Search Query                                                                                       |

The [operation catalog](/docs/integrations/n8n/operations#social-fetch-trigger) lists the same options with the fastest schedule for each.

## Before you start: n8n must be reachable

Social Fetch delivers new posts to your workflow over the internet, so it needs to reach your n8n:

* **n8n Cloud** works as it is.
* **Self-hosted n8n** needs a public `https://` address on the standard port (443), set as `N8N_WEBHOOK_URL` (or `WEBHOOK_URL` on older versions). An address like `https://n8n.example.com:5678` won't work; put n8n behind a reverse proxy on port 443.
* **n8n on your own computer** (for example `http://localhost:5678`) can't receive new posts. The trigger tells you so when you test it. Use [the schedule-based version](#no-public-address-use-a-schedule-instead) instead.

## Set up the trigger

1. In a new workflow, click **Add first step**, search for **Social Fetch** and choose **Social Fetch Trigger**.
2. Pick your Social Fetch credential.
3. In **Watch**, choose what to watch, for example **TikTok: New videos from a profile**.
4. Fill in the field that appears, for example **Handle** `nasa`.
5. Set **Poll Interval (Minutes)**: how often Social Fetch checks. Every check uses credits, so check as often as you need and no more. It starts at 60 (once an hour), which suits most accounts; X sources need at least 5 minutes.

## Test it with a sample post

Click **Execute step** (or **Test this trigger**). Social Fetch sets up the check and sends a **sample post** within a few seconds, so you can build the rest of the workflow without waiting for a real one.

The sample has the post ID and time but not the full post, so map fields like the caption or URL using the [API reference](/docs/api) example for that source, then check them on the first real post. If the node panel still says **Listening for test event** after the sample arrives, click **Stop Listening**: the sample stays in the output.

Each test runs one real check, which uses credits like a scheduled one.

## Build the rest and publish

Add the nodes that should run for each new post, for example **Slack → Send message** with the text `New TikTok: {{ $json.caption }} {{ $json.url }}`.

Then click **Publish** (in older n8n versions, flip the toggle to **Active**). From now on:

* The **first check** only records what's already there, so posts from before you published don't start the workflow. (Searches are the exception: an older post that newly shows up in the search results counts as new.)
* Each later check that finds new posts starts the workflow once, with **one item per new post** (when **Simplify** is on, the default).
* A check that finds nothing doesn't start the workflow, but it still uses credits.
* **Unpublishing** the workflow deletes the check, so it stops using credits.

## What it costs

Each check costs the same as calling that operation once, whether or not it finds anything. That makes the cost easy to predict:

| Poll Interval   | Checks per day | Checks per month |
| --------------- | -------------- | ---------------- |
| 15 minutes      | 96             | about 2,880      |
| 60 minutes      | 24             | about 720        |
| 6 hours (360)   | 4              | about 120        |
| 24 hours (1440) | 1              | about 30         |

Multiply by the operation's price on its [API reference](/docs/api) page. See [Billing for monitors](/docs/monitors/billing) for the details, including what happens when you run low on credits and how many monitors each plan can run.

## No public address? Use a schedule instead

If your n8n can't be reached from the internet, you can get the same result with three nodes. Import the [ready-made version](/docs/integrations/n8n/templates#new-posts-to-slack-any-n8n), or build it:

1. **Schedule Trigger**, set to the interval you want, for example every hour.
2. **Social Fetch → TikTok → Profile Videos** with your handle.
3. **Remove Duplicates** with **Operation** set to **Remove Items Processed in Previous Executions** and **Value to Dedupe On** set to `{{ $json.id }}`. Only videos the workflow hasn't seen before pass through.

Then add your Slack, email or sheet node. Before you publish, turn off the last node (select it and press **D**) and run the workflow once: that records the videos already up, so they aren't all sent on the first scheduled run. Turn the node back on and publish.

This works on any n8n, but it runs a request on every schedule tick, and your n8n does the comparing. The Social Fetch Trigger only starts your workflow when there's something new.

## Troubleshooting

* **"Social Fetch can't reach this n8n to deliver new posts."** Your n8n's webhook address isn't public. See [Before you start](#before-you-start-n8n-must-be-reachable).
* **"…can be checked every 5 minutes at most."** Raise **Poll Interval** to the number in the message.
* **"Fill in Handle…"** The field for the source you picked is empty.
* **The workflow never runs.** Check it's published, and that the account has posted since then: the first check only records what's already there. You can see every check, including ones that found nothing, under [Monitors](https://app.socialfetch.dev/monitors) in your Social Fetch account.
* **Too many monitors.** Each published trigger is one monitor, and plans have a limit on active monitors. Unpublish workflows you no longer need.

More in [Troubleshooting](/docs/integrations/n8n/troubleshooting).

## Next steps

- [Workflow templates](/docs/integrations/n8n/templates) — New posts to Slack, ready to import.

- [Monitors](/docs/monitors) — How checks, baselines and deliveries work.

- [Use with the AI Agent](/docs/integrations/n8n/ai-agent) — Summarise new posts with an n8n agent.

- [Troubleshooting](/docs/integrations/n8n/troubleshooting) — Errors, empty results and credits.