# NetIntel Page Extract / Read

> NetIntel Page Extract / Read is a paid API for AI agents from netintel.dev, paid per call via x402, $0.05/call, status unknown (last checked 2026-09-15).

Fetches and cleans the readable text content from any public web page URL, returning the full article text, title, language, word count, reading time, and a quality grade.

## Facts

- Endpoint: GET https://netintel.dev/page-extract/read
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Success rate: 0% of calls made through Zero
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/netintel-page-extract-read-5c74c441
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_kpWljbZbNr_Kb4N9mo4cG

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability netintel-page-extract-read-5c74c441
```

Example prompt: Can you fetch and extract the full readable text from this article — https://www.theverge.com/2024/5/1/some-article — and tell me the title, word count, and reading time?

## When to prefer this

Use this endpoint when you need clean, human-readable article or page text from a public URL without having to run a full browser or handle HTML parsing yourself. It is well-suited for summarization pipelines, content analysis, or feeding article text to an LLM. Prefer this over raw HTML fetchers when you need structured metadata (title, word count, reading time, language) alongside the cleaned text.

## Known failure modes

- URL is behind a paywall or login wall — content extraction may be empty or partial
- URL returns a non-200 status code — status_code field reflects the HTTP error
- Page is JavaScript-rendered (SPA) — static fetch may miss dynamically loaded content
- Invalid or malformed URL provided — request will fail with an error
- Page has no extractable article content — score/grade will be low and content may be empty

## How this service works

Fetch any article or web page and extract clean readable text stripped of navigation, ads, and boilerplate — returns the main content body, word count, estimated reading time, detected language, and key sentences so agents can read the web without a browser or third-party scraping service. For JS-rendered or bot-walled pages a plain fetch can't read, use /exa/contents.

## Output

Returns a JSON object with the cleaned full article text, page title, a content quality grade (e.g. 'A') and numeric score, an array of preview sentences, detected language code, word count, estimated reading time in minutes, the final resolved URL after redirects, the HTTP status code, and the character length of the content.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "url"
     ],
     "properties": {
      "url": {
       "type": "string",
       "description": "Public URL to extract content from (e.g. https://www.sitemaps.org/protocol.html)"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "url": {
       "type": "string"
      },
      "grade": {
       "type": "string"
      },
      "score": {
       "type": "number"
      },
      "title": {
       "type": "string"
      },
      "content": {
       "type": "string"
      },
      "preview": {
       "type": "array"
      },
      "findings": {
       "type": "array"
      },
      "language": {
       "type": "string"
      },
      "final_url": {
       "type": "string"
      },
      "word_count": {
       "type": "number"
      },
      "status_code": {
       "type": "number"
      },
      "content_length_chars": {
       "type": "number"
      },
      "reading_time_minutes": {
       "type": "number"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://www.sitemaps.org/protocol.html",
  "grade": "A",
  "score": 100,
  "title": "sitemaps.org - Protocol",
  "content": "This document describes the XML schema for the Sitemap protocol.\n\nThe Sitemap protocol format consists of XML tags...",
  "preview": [
   "This document describes the XML schema for the Sitemap protocol.",
   "The Sitemap protocol format consists of XML tags.",
   "All data values in a Sitemap must be entity-escaped."
  ],
  "findings": [],
  "language": "en",
  "final_url": "https://www.sitemaps.org/protocol.html",
  "word_count": 2456,
  "status_code": 200,
  "content_length_chars": 18894,
  "reading_time_minutes": 11
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/netintel-page-extract-read-5c74c441/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from netintel.dev](https://www.zero.xyz/host/netintel.dev/llms.txt)
