Skip to content

docs: add "Verifying Freshness and Liveness" usage guide - #1145

Merged
hmishra2250 merged 5 commits into
mainfrom
docs/freshness-liveness-usage-guide
Aug 6, 2026
Merged

docs: add "Verifying Freshness and Liveness" usage guide#1145
hmishra2250 merged 5 commits into
mainfrom
docs/freshness-liveness-usage-guide

Conversation

@hmishra2250

@hmishra2250 hmishra2250 commented Jul 19, 2026

Copy link
Copy Markdown
Contributor

Why

Users need to understand two separate concerns:

  • the existing freshness/latency choice; and
  • why a successful page response does not prove that the state represented by the page is current.

What changed

  • Added a Verifying Freshness and Liveness usage guide with:
    • when to use maxAge: 0 to bypass Firecrawl index reuse;
    • why HTTP 200 or non-empty content is not proof of current state;
    • a checklist using content, possible redirect evidence, and source-specific status signals;
    • domain-neutral Node and Python examples that collect evidence without making an application-specific decision.
  • Added the guide to the Usage Guides navigation.
  • Added a short link from the Scrape caching section instead of duplicating the full guidance across reference pages.

This is documentation only. It does not change caching defaults, scrape behavior, response metadata, or the public cache contract.

Related: firecrawl/skills#5, firecrawl/firecrawl-mcp-server#321, firecrawl/firecrawl#4082.

Validation

  • docs.json parses successfully and contains the new nav entry.
  • Changed MDX files have valid frontmatter/component structure.
  • Node and Python examples pass syntax checks.
  • New internal links resolve to existing pages.
  • git diff --check passes.

@mintlify

mintlify Bot commented Jul 19, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
firecrawl 🟢 Ready View Preview Jul 19, 2026, 9:09 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Add a dedicated, discoverable usage guide distinguishing freshness
(controlled by maxAge) from liveness (a domain decision no scrape can
assert). Covers the maxAge tradeoff, a freshness-sensitive action
checklist, and a worked job-posting classification example in Node and
Python showing that a scrape alone yields active/removed/unknown but
never upgrades to "active" on its own.

Registers the page under the Usage Guides nav subgroup and cross-links
to /features/scrape and /features/fast-scraping.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@Max17190

Copy link
Copy Markdown
Contributor
  • Worked examples (JS + Python): missing url → possible_redirect: false. Checklist says inconclusive should be unknown
  • Prefer evidence / unknown, not a boolean proof. If you compare URLs, canonicalize first (API crawl logic already normalizes before treating URL diffs as redirects)

hmishra2250 and others added 3 commits August 6, 2026 19:09
Verified every claim in the guide against the scrape pipeline and both
SDKs, and corrected the ones that did not hold:

- Document where maxAge actually applies. It is honored on /scrape and
  in scrapeOptions for /crawl and /batch/scrape. /search applies its own
  freshness window to the pages it scrapes, and /parse always processes
  the file you supply and never serves or stores cached content, so the
  parameter has no effect on either. The guide previously implied it
  worked everywhere.
- Use "cache" consistently instead of "index reuse", matching the
  wording already used in Faster Scraping and the Scrape reference.
- Note the response-side freshness signals that exist: metadata
  cacheState and cachedAt.
- Rewrite the comparison table row that conflated controlling freshness
  with proving it.
- Fix the Node sample to the import form used across the v2 snippets
  (named Firecrawl export from "firecrawl").
- Add a cURL sample and order the CodeGroup Python/Node/cURL, matching
  the neighbouring usage guide and the Scrape reference.
- Add section rules to match the Usage Guides page structure.

The sourceURL/url distinction is confirmed correct: sourceURL is the URL
you requested, url is the URL the engine reports for the response.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Faster Scraping already states that cached results still cost 1 credit
per page, so describing the cache as cutting cost contradicted it. Also
note that cacheState is absent from a maxAge: 0 response, since that
request skips the cache and the field would otherwise look missing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@hmishra2250
hmishra2250 merged commit d2f41d5 into main Aug 6, 2026
3 checks passed
@hmishra2250
hmishra2250 deleted the docs/freshness-liveness-usage-guide branch August 6, 2026 14:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants