Skip to content

fix(extract): describe extract=auto as it works today - #44

Merged
jonathan-zenrows merged 5 commits into
mainfrom
fix/extract-copy-sync
Oct 14, 2026
Merged

jonathan-zenrows merged 5 commits into
mainfrom
fix/extract-copy-sync

Conversation

@jonathan-zenrows

@jonathan-zenrows jonathan-zenrows commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

What

  • extract tool description (what agents read): mode=auto is no longer labelled beta (Extract is generally available; it stays currently free) and is described as working on any domain Zenrows has prepared with any API key, and falling back to autoparse when the domain isn't prepared yet (REQS007). Previously it said it falls back "when the domain isn't enabled".
  • fallback_autoparse param description and the isExtractUnavailable comment: REQS007 first, AUTH010 marked as the legacy domain-not-enabled code.
  • README tool table: same wording for extract.
  • npm keywords: add extract, structured-data, web-data.

Why

Public surfaces must match the current state of Extract (sibling PRs ZenRows/cli#36 and ZenRows/zenrows-python-sdk#40). Since the gate was removed, Extract works on any prepared domain with any active key; an unprepared domain answers 403 REQS007 and can be prepared via POST /v1/extract/prepared-domains (https://docs.zenrows.com/extract/setup#domain-coverage).

Copy and metadata only: no behaviour changes. Versions in package.json and server.json are untouched.

Testing

  • npm run typecheck clean
  • npm run lint clean
  • npm test: 171/171 pass

After merge

Publish a new version so the npm page, the MCP registry entry and the hosted server pick up the new description and keywords.

🤖 Generated with Claude Code

The agent-facing `extract` tool description and the README still called
extract=auto an "open beta" that falls back to autoparse "when the domain
isn't enabled", which reads like a per-account gate. There is no gate:
Extract works on any domain Zenrows has prepared, with any API key, and a
domain not prepared yet answers 403 REQS007, which the tool already falls
back from. Say that, and mark AUTH010 as the legacy code.

Add extract, structured-data and web-data to the npm keywords so the
package is findable for Extract. Copy and metadata only; no behaviour
changes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Extract is generally available. The README and the extract tool
description agents read still labelled it beta. Drop the label and keep
the note that it is currently free.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
jonathan-zenrows and others added 2 commits October 14, 2026 00:05
When Extract knows a kind of page but none of the fields come back filled,
the API answers 422 with code no_data_extracted. The request is not
charged, and repeating it returns the same answer.

The extract tool returned that as a generic "Zenrows error 422", which an
agent reads as a failure to reach the site and tends to retry. It now
returns ok: true with empty: true, data: null, noDataExtracted: true and a
short message on how to check the page rendered fully. There is still one
request and no Autoparse fallback. Other 422s, and a 422 outside extract=auto,
keep returning an error. The tool description explains the new field.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jonathan-zenrows
jonathan-zenrows merged commit 20e9a47 into main Oct 14, 2026
2 checks passed
tedi-z added a commit that referenced this pull request Oct 14, 2026
#49 landed on main with its own version of the Batch-is-GA wording that
5aa2b50 added here, and #44 changed the README row next to it. These three
files now carry main's wording for those lines, so the PR merges cleanly
and its diff against main is the tool-wording change alone.

Refs ACT-1566

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BUChpDttrHDtU8izeDT2op
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