跳至主要内容

Content and discovery

See a competitor's launch the week it happens

Watching a competitor is a permissions question before it is a technical one. Meta requires express written permission for automated data collection, so an Instagram scraper is not an option here — the documented endpoints are. What that leaves is narrower than the promise usually made: their public professional account through business_discovery, whatever the Ad Library will return, their own site where its terms and robots.txt allow an automated read, and the notices they send you. Narrow and permitted beats broad and actionable-against.

Triggers
Two
Runs
Daily
Stack
4 tools
Durable execution
Not required

The flow

The top track reads only sources you are permitted to read, and keeps a dated copy. The bottom track compares, and one threshold decides whether anybody hears about it.

Orchestration

Every morning

n8n schedule

Platform

Read the permitted sources

Instagram Graph API · Ad Library API

Data

Store today's copy

Sheets · Airtable

Orchestration

Their newsletter arrives

n8n · Make

Orchestration

Compare with yesterday

n8n

Orchestration

New listing or price cut?

n8n IF

Notify

Tell whoever sets price

Slack · WhatsApp

Orchestration

Leave the file as is

Step by step

  1. 01

    Every morning

    n8n schedule

    Once a day. A launch is a weekly-scale event, so polling harder buys nothing and starts to look like the thing the terms prohibit.

  2. 02

    Read the permitted sources

    Instagram Graph API · Ad Library API

    Their professional account through business_discovery, their ads through the Ad Library API, and their own catalogue page only where that site's terms and robots.txt allow an automated read. Anything behind a login, and any platform whose terms prohibit automated collection, stays off the list — including Instagram itself outside these endpoints.

  3. 03

    Store today's copy

    Sheets · Airtable

    One dated row per source, with the source named on the row. The value compounds: a year of rows shows how often they launch and how they price, which no single read can give you.

  4. 04

    Their newsletter arrives

    n8n · Make

    The second source, and the one they want you to have. Route it into the same comparison instead of a folder, so it is checked against yesterday rather than skimmed.

  5. 05

    Compare with yesterday

    n8n

    Field by field against the previous row. Compare the values, not the page — a template change is not a launch, and a flow that cannot tell the difference will cry wolf until it is muted.

  6. 06

    New listing or price cut?

    n8n IF

    Set a floor. A new colourway of an existing product is not a launch, and a rounding difference is not a price cut. The floor is a judgement about your category, and it is the only part of this flow you cannot copy from someone else.

  7. 07

    Tell whoever sets price

    Slack · WhatsApp

    Name the product, the old and new price, the date first seen, and the source it came from. The source matters most: a claim the recipient cannot re-check themselves is not intelligence, it is a rumour with a timestamp.

What the platform will not allow

This is the case where the limits are the design. Read them before deciding whether to build it, not after.

  • "You will not engage in Automated Data Collection without first obtaining Meta's express written permission or in any manner that is not explicitly authorized by Meta." Scraping a competitor's Instagram or Facebook presence is therefore off the table. This flow reads Meta only through the documented endpoints below.

    Meta — Automated Data Collection Terms
  • business_discovery is the documented way to read another Instagram Business or Creator account, returning public fields such as follower count, media count and per-media engagement. "Data about age-gated Instagram Business IG Users will not be returned", and it requires instagram_basic, instagram_manage_insights and pages_read_engagement. A competitor on a personal account is simply out of scope.

    Instagram Platform — IG User business_discovery
  • The Ad Library API returns "archived ads from the Meta Ad Library based on keyword searches of text, images, audio from video, and the call-to-action button", but "ads that did not reach any location in the EU will only return if they are about social issues, elections or politics". For a competitor advertising only in Asia, expect this source to be largely empty — which is the opposite of how it is usually described.

    Meta Graph API — ads_archive (Ad Library API)
  • robots.txt lets "service owners control how content served by their services may be accessed, if at all, by automatic clients", and the RFC states plainly that "these rules are not a form of access authorization". A path not disallowed is still governed by that site's terms; robots.txt tells you where a crawler may go, never that you are permitted to be there.

    RFC 9309 — Robots Exclusion Protocol
  • Xiaohongshu publishes an open API reference, but it covers merchant operations — orders, products, inventory, logistics — with nothing for reading another brand's notes, and we found no published terms permitting automated collection of them. That side of the watch stays manual: a person looking, on a schedule.

    小紅書開放平台 — API 文件導覽

When this is not worth building

Three cases where the upkeep costs more than the surprise.

  • You have one competitor and they announce everything to a list you are already on. Subscribing is the whole workflow, and the rest is decoration around an email.

  • Nothing you would do about it can happen inside a week. If price is set by contract and stock is ordered a quarter ahead, knowing early only lengthens the time you spend unable to act.

  • The only place the answer lives is behind a login, or on a platform whose terms forbid automated collection. The honest version is then a person looking on a schedule, and a workflow that pretends otherwise creates a legal exposure to save ten minutes a week.

Related reading

联络我们

这些流程,你真正应该做哪一条?

我们每星期都在为香港的运营团队跑这些流程。告诉我们哪个环节正在耗你的时间,我们会告诉你自动化划不划得来。

开始对谈