Guides

Firecrawl /monitor vs MeshArc change detection: an honest comparison

Firecrawl's /monitor made change detection table stakes. What each one watches, how each decides something changed, where the change lands, and what a month of checks costs, with numbers checked on 30 October 2026.

8 min read
Firecrawl /monitor vs MeshArc change detection: for a 2,000-page site checked weekly, $7.92 on Firecrawl Standard vs $1.58 on MeshArc Growth; fastest schedule 5 min vs hourly; webhook retries 3 vs 6; push destinations none vs 18. Checked 30 Oct 2026.
On this page

If you are weighing MeshArc as a Firecrawl alternative for change detection, the comparison used to be short. Until May 2026, Firecrawl scraped; MeshArc scraped and remembered. Then Firecrawl shipped /monitor, and it is a proper change-tracking product — scheduled checks, text and JSON diffs, an AI judge for "did anything meaningful change", webhooks, email and Slack. "We have change detection and they don't" stopped being true.

So this is the comparison we would want to read if we were choosing: what each one watches, how each one decides something changed, where the change ends up, and what a month of checks costs. We build MeshArc, so weigh that. Firecrawl figures were checked on 30 October 2026 against docs.firecrawl.dev/features/monitor, the Firecrawl billing docs and firecrawl.dev/pricing. Where Firecrawl is better, we say so.

The short answer

  • Pick Firecrawl /monitor for a handful of pages checked every few minutes, for watching web-search results for new hits, for diffs on fields you define in your own JSON schema, or if you want the AI judge without bringing a model key.

  • Pick MeshArc for whole sites or sections checked hourly to weekly, when refused pages must never be reported as deleted, when unchanged pages should cost nothing, and when the change has to land as a row in Postgres, BigQuery or a vector store rather than as a message.

The rest of the post is the working.

Side by side

Checked 30 October 2026.

Firecrawl /monitor

MeshArc change detection

What it watches

scrape (listed URLs), crawl (every page a crawl finds), search (new web results); 1–50 targets per monitor

A project: a seed URL plus scope (include_paths), seeded from robots.txt and sitemaps

Fastest schedule

Every 5 minutes (cron or plain text, with a time zone)

Hourly (hourly, daily, weekly)

Page states

same, changed, new, removed, error

added, removed, modified, same, withheld, unverified, skipped

Diff

Markdown unified diff by default; JSON mode gives per-field diffs keyed by path, with previous and current values

Word-level page diff, plus field changes to titles, dates, canonicals and prices

Noise

AI judge (goal) marks changes meaningful or not; emails are suppressed when every change is judged noise

Banners, rotating widgets and timestamps stripped before comparison; notify_min_words threshold for alerts

Removals

Reported as removed; failed fetches reported as error

Refused pages are withheld; removals held back on any run that reaches under 90% of the site

Delivery

Webhook (3 retries at 1, 5, 15 min), email (up to 25 recipients), Slack (dashboard only)

Signed webhook (6 retries over about a day), Slack, Teams, Discord, Google Chat, email digest, plus 18 push destinations

History

retentionDays, 30 by default, up to 365

Change records, and every version in your own database if you add a destination

Billing per check

1 credit per page per check, changed or not; +1 per changed page judged; an errored page is 1

Rung price per page read; 404s, refusals and pages carried forward by lastmod are 0; diffs and deliveries are 0

One billing caveat: Firecrawl's pricing page lists Monitor at "1 / page / check", but the same page also says its "deterministic-extraction engine bills a flat 7 credits per page per check". We have used the 1-credit figure throughout, which is the cheaper reading. Each Firecrawl check reports estimatedCredits and actualCredits, so look at a real check before you budget.

Where Firecrawl /monitor is better

Plainly:

  1. Speed. Five-minute checks. MeshArc's floor is hourly, by design: a crawler is the wrong tool for prices that move every few minutes. If you need that, Firecrawl does it and we don't.

  2. Search targets. A Firecrawl monitor can watch a web search and alert on new results, with the judge deciding which hits match your goal. MeshArc has a separate rank tracking API for searches, but not inside the change monitor.

  3. Your own fields. JSON mode takes your schema or a prompt and diffs exactly those fields (plans[0].price, previous and current). MeshArc's field diffs cover titles, dates, canonicals and prices out of the box; anything more bespoke means structured extraction on your own model key.

  4. The judge is included. Firecrawl's meaningful-change judge runs on Firecrawl's side for 1 credit per changed page. MeshArc's change digest is written on your own model key.

  5. Open source. Firecrawl is AGPL-3.0 and can be self-hosted. MeshArc is a hosted API with MIT-licensed SDKs.

  6. Residential-only sites. Firecrawl's enhanced proxy costs no extra credits. On MeshArc a page that needs a residential IP on every read is 16 credits. On those sites Firecrawl is cheaper — see the numbers below.

Where MeshArc is better

  1. Whole sections, found for you. A MeshArc project walks robots.txt, well-known paths and sitemap indexes, so a page published on Tuesday is reported as added on the next run. On one gov.uk discovery run that came to 508,290 URLs from 29 sitemap files. Firecrawl's crawl target also finds pages, so this is a difference of degree; the sitemap memory is where it widens.

  2. Unchanged pages are free. When a sitemap's lastmod says a page has not changed, MeshArc carries the previous copy forward at 0 credits. Firecrawl charges 1 credit per page per check whether anything changed or not.

  3. A refusal is not a deletion. Firecrawl separates error from removed, which is good. MeshArc goes a step further: a page the site refused this run is withheld, and if a run reaches under 90% of the site, removals are held back entirely and the reason is stated. A half-finished crawl never turns into "400 pages deleted".

  4. 404s and walls cost nothing. Firecrawl bills a page that returns a document even when the status is 403 or 404, and bills 1 credit for a page that errors during a check. MeshArc bills neither.

  5. The change lands where your data lives. This is the biggest gap. Firecrawl /monitor delivers by webhook, email or Slack; the table is yours to build. MeshArc pushes to 18 destinations on every plan — PostgreSQL, MySQL, MongoDB, BigQuery, Snowflake, Redshift, Databricks, ClickHouse, Pinecone, Qdrant, Weaviate, pgvector, S3, GCS, Azure Blob, Kafka and more — upserted by URL and content hash, at 0 credits. Keyed on url+content_hash, every page version becomes a row.

  6. Retries that survive a deploy. MeshArc retries a failed webhook six times over about a day; Firecrawl three times within 15 minutes.

What a month of checks costs

Per-1,000-credit rates used here: Firecrawl Standard is $99 a month for 100,000 credits ($0.99 per 1,000), or $83 a month on annual billing ($0.83). MeshArc Growth is $99 a month for 500,000 credits ($0.198 per 1,000). These are allowance-equivalent rates; you pay the plan, not the fraction. Firecrawl plan credits do not roll over on Hobby, Standard or Growth.

Job (per month)

Firecrawl Standard

MeshArc Growth

2,000-page docs site, weekly (4 checks), plain HTML

8,000 credits: $7.92 ($6.64 annual)

8,000 credits by plain fetch: $1.58

Same site, sitemap lastmod accurate, ~10% of pages change each week

8,000 credits: $7.92 (every page billed every check)

~800 page reads plus sitemap files: about $0.16

Same site, every page needs JavaScript

8,000 credits: $7.92

32,000 credits (render, 4 each): $6.34

1,000 pages needing a residential IP, weekly

4,000 credits: $3.96

64,000 credits (16 each): $12.67

20 pricing pages every 15 minutes

57,600 credits: fits the $99 plan

Not possible; hourly is 14,400 credits, $2.85

On a plain or sitemap-friendly site MeshArc is roughly 5× to 50× cheaper per month of checks. On a JavaScript-heavy site the two are close. On a residential-only site Firecrawl is about 3× cheaper, and for sub-hourly checks it is the only option of the two. The wider price picture, including 404 billing and JSON surcharges, is in Firecrawl pricing explained; our own rates are on pricing and in the billing docs.

The same job in MeshArc, in code

A weekly watch on a docs section, a Slack alert for real edits only, and a signed webhook for code. Install first:

pip install mesharc
# or: npm install mesharc
from mesharc import MeshArc

arc = MeshArc()  # reads MESHARC_API_KEY

project = arc.projects.create(
    "https://docs.example.com/",
    name="Competitor docs",
    schedule="weekly",                      # manual | hourly | daily | weekly
    config={
        "max_pages": 2000,
        "include_paths": ["/docs/*"],
        "chat_url": "https://hooks.slack.com/services/T000/B000/XXXX",
        "notify_min_words": 20,             # skip typo fixes in Slack
        "webhook_url": "https://hooks.yourapp.com/mesharc",
        "webhook_events": ["run.finished", "page.changed"],
    },
)

arc.runs.start(project["id"], wait=True)    # run 1 sets the baseline

# after the next scheduled run:
record = arc.changes(project["id"])
print(record["change"]["counts"])           # added, removed, modified, withheld

diff = arc.page_diff(project["id"], "https://docs.example.com/docs/pricing")

Add a Postgres, BigQuery or Pinecone destination to the project and each run's changed pages are written there after it finishes; the settings are in the connectors and destinations docs. The full pipeline, including verifying the webhook signature and the SQL you can run afterwards, is in Website change monitoring API: from diff to Slack to Postgres. Pointed at a vector store instead, the same project is how you keep a RAG knowledge base fresh without re-embedding pages that did not change.

Before you save a schedule, GET /estimate returns a monthly credit estimate, and budget.perMonth skips any scheduled run due after the budget is spent — the MeshArc counterpart to Firecrawl's estimatedCredits.

How to choose

Ask three questions:

  1. How often? Faster than hourly: Firecrawl. Hourly to weekly: either.

  2. How much of the site? A few known URLs: either, and Firecrawl's JSON schema mode is very good at it. A whole section that grows: MeshArc's sitemap memory, lastmod carry-forward and 90% removal rule earn their keep.

  3. Where does the change go? A person reading Slack or email: Firecrawl does that well, judge included. A table, a warehouse or an index: MeshArc writes it there; with Firecrawl you build and run the receiver.

Plenty of teams will reasonably use both: Firecrawl for a fast monitor on a few pages, MeshArc for the scheduled crawl that feeds the warehouse. For the broader switch, see the Firecrawl alternative page; the vendor-by-vendor table is on compare, and the use case in full is on website change monitoring.

Try it on a site you already watch

Paste one of the pages you check by hand into the playground and see what comes back, verdict and credits included. Or start free with 1,000 credits and no card: set the baseline today, read the first diff after the next run, and compare the bill with your current monitor's actualCredits.

ShareLinkedInX

The MeshArc newsletter

New posts and what changed, at most twice a month.

Related posts

Crawl a site and see what changed.

A one-time 1,000 credits to start, browser tier included, no card. The playground answers in seconds.