> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tryhuntr.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Page Analyzer

> Fetch one public URL and analyze it with a prompt and optional schema.



## OpenAPI

````yaml /openapi.json post /page-analyze
openapi: 3.0.3
info:
  title: Huntr — The GTM Intelligence API
  description: >-
    Give AI agents company, people, contact, and web intelligence through one
    API. Search accounts, build targeted lists, enrich leads, find contacts, and
    uncover buying signals.


    **Authentication:** Authenticated endpoints require an `x-api-key` header
    with your Huntr API key. Get a key by signing up via `POST /keys/create`.
    Public endpoints (pricing, sign-up, health) work without a key.


    **Rate limit:** 5 requests/second per API key on authenticated endpoints.
  version: 2.0.0
servers:
  - url: https://api.tryhuntr.com
security: []
tags:
  - name: Contact APIs
    description: >-
      Search people and enrich work email, phone, and reverse-email contact
      fields.
  - name: Company APIs
    description: >-
      Search companies and retrieve company-level attributes such as detected
      technology stack and active job postings.
  - name: Research APIs
    description: >-
      Research one company, person, team, or focused business question and
      return a sales-ready answer. Lite, standard, and deep tiers.
  - name: LinkedIn APIs
    description: >-
      LinkedIn URL discovery, company and profile pages, posts, reactions, and
      comments.
  - name: X APIs
    description: X profiles, posts, search results, and thread context.
  - name: Web APIs
    description: >-
      Find, scrape, and analyze pages on a domain, plus tech stack, domain
      contacts, and job postings.
  - name: Account
    description: >-
      Sign up, verify email, recover keys, check balance, view usage, add
      credits, and read the public pricing matrix.
  - name: System
    description: Health check.
paths:
  /page-analyze:
    post:
      tags:
        - Web APIs
      summary: Page Analyzer
      description: Fetch one public URL and analyze it with a prompt and optional schema.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - url
                - prompt
              properties:
                url:
                  type: string
                  description: >-
                    The public URL to fetch and analyze, e.g.
                    `https://stripe.com/pricing`.
                prompt:
                  type: string
                  description: >-
                    Your question or instruction, e.g. `Find the ICP and key
                    value propositions`.
                schema:
                  type: object
                  description: >-
                    Optional. When provided, the LLM returns JSON matching this
                    schema instead of a text answer. Keys are field names,
                    values describe the expected type (e.g. `"string"`,
                    `"number"`, `["string"]`).
                  additionalProperties: true
            examples:
              text_mode:
                summary: Text answer (no schema)
                value:
                  url: https://stripe.com/pricing
                  prompt: What is the price of the Pro plan?
              schema_mode:
                summary: Structured extraction (with schema)
                value:
                  url: https://stripe.com/about
                  prompt: Extract company details
                  schema:
                    founded: string
                    headquarters: string
                    description: string
      responses:
        '200':
          description: >-
            Analysis complete. `answer` is a string in text mode, or an object
            in schema mode.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  request_id:
                    type: string
                  result:
                    type: object
                    properties: {}
                  price:
                    type: number
                    description: Plan-specific amount when analysis is returned.
                  credits_remaining:
                    type: number
                required:
                  - success
                  - request_id
                  - result
                  - price
                  - credits_remaining
              examples:
                text_mode:
                  summary: Text answer
                  value:
                    success: true
                    request_id: req_1746123456_pa1x2y
                    result:
                      answer: The Pro plan costs $99 per month, billed annually.
                    price: 0.012
                    credits_remaining: 4.988
                schema_mode:
                  summary: Structured extraction
                  value:
                    success: true
                    request_id: req_1746123456_pa2x3y
                    result:
                      founded: '2010'
                      headquarters: San Francisco, CA
                      description: Payments infrastructure for the internet.
                    price: 0.012
                    credits_remaining: 4.988
        '400':
          description: Missing or invalid url, prompt, or schema.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Insufficient credits.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Page has no extractable text content.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Fetch, analysis, or JSON extraction failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.tryhuntr.com/page-analyze \
              --header 'x-api-key: <api-key>' \
              --header 'Content-Type: application/json' \
              --data '{
              "url": "https://stripe.com/pricing",
              "prompt": "What is the price of the Pro plan?"
            }'
      x-code-samples:
        - lang: Shell
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.tryhuntr.com/page-analyze \
              --header 'x-api-key: <api-key>' \
              --header 'Content-Type: application/json' \
              --data '{
              "url": "https://stripe.com/pricing",
              "prompt": "What is the price of the Pro plan?"
            }'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your Huntr API key. Get one at tryhuntr.com. Pass as x-api-key header on
        all authenticated requests.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.