Changes to the Rankfield API and MCP server that can affect your code, newest first.

Changes that can affect your code or your agents, newest first.

PDFs in Scrape

7 November 2026

Scrape now reads PDF pages: their text comes back as the content, with the title, author and date from the document. Long documents are read up to their first 300 pages, and the answer says when and why the text stops early. Scanned PDFs (pages of images without text) and password-protected PDFs are still refused, now with the reason; answers for every other page are unchanged. See Scrape a page.

Scrape renders JavaScript-only pages by default

7 November 2026

Scrape now renders JavaScript-only pages by default: when a page's HTML is an empty app shell, Scrape answers from the page as a browser shows it. Every other page is answered exactly as before. render=never keeps the raw HTML only. See Scrape a page.

Rendered pages

7 November 2026

Scrape can now run a page's JavaScript before reading it: render=auto renders only empty app shells, and render=always renders every page. Bot View's rendered=true shows what changes when a crawler runs JavaScript, in one sentence and in detail, and Scrape and Brand can return a WebP screenshot. Rendering uses Chrome, follows robots.txt for every file a page loads, sends no cookies and never works around bot challenges; calls without the new options are unchanged. See Scrape a page.

Scrape picks a page's main content better

7 November 2026

With scope=main, when the article Scrape finds is very short next to the rest of the page (a newsletter box picked on a product page, for example), the answer now holds the page's content instead, and content.extraction is document. This changes the main answer for about 1 page in 5. A product page whose text doesn't name the product also starts with the product's name, description and price from the page's structured data. See Scrape a page.

Text Extraction and Language Detection are now part of Scrape

6 November 2026

The old endpoints answer 410 with the Scrape call to use. For a page's text, call GET /v1/scrape?url=…&include=content: scope works the same (page, main, all) and the text is in content.markdown. For its language, call GET /v1/scrape?url=…&include=language: the language field is the same. On the MCP server, use scrape_page with include. See Scrape a page.

4 November 2026

The full referring and outbound domain lists now answer "source": "Rankfield web graph". The graph release is written 2026-may-jun-jul wherever it appears: crawlRelease in those lists, Referrer Profile and exports, release in export jobs and Dataset Status, and export file names. Field names don't change, and cursors issued before this change keep working; if your code compares these values, update it. See Get Dataset Status.

Domains not in the graph answer 200 instead of 404

1 November 2026

A well-formed domain that isn't in our link graph yet now answers 200 on Site Strength, Referring Domains, the full lists, Referrer Profile and exports, with "inGraph": false right after domain and zeros or empty lists. The field is absent for every other domain, so those answers don't change; a malformed domain still gets 400. See Get Site Strength.