← APIs / Web Extraction
Verified

Web Extraction

Apiosk Basicsby Apiosk Basics · General

Turn any URL into agent-ready data: clean markdown, contact info, a company description, pricing plans, or one combined page-to-JSON summary.

toolsapi
Price per request
$0.08
About

Web Extraction is a set of page-scraping building blocks for AI agents: url-to-markdown fetches a page and returns clean, markdown-ish text (nav/footer/scripts/cookie-banners stripped); extract-contact-info pulls emails, phones, social links and contact URLs (and follows a same-origin contact page for more signal); extract-company-description returns a short description from og/meta or the first real paragraph; extract-pricing heuristically parses plans (name, price, currency, billing period, features) from a pricing page; page-to-agent-json combines title, summary, links, prices and contacts in a single fetch. All heuristic (regex/DOM cleanup, no LLM pass in v1). Pay per request via x402; no API key needed from the caller.

Base URL
https://gateway.apiosk.com/web-extraction
Technical Specs
Auth Methodx402
Response FormatJSON
Endpoints5
Endpoints
MethodPathDescriptionCost
POST /extract-company-description Return a short company description from a homepage: og:description > meta description > first meaningful paragraph. Cleaned, single-line, truncated to ~280 chars. Never invents text that is not on the page.
$0.08 default
View details
POST /extract-contact-info Extract emails, phone numbers, social links and contact URLs from a page. Known placeholder emails are filtered; a same-origin contact page is fetched for extra signal and merged (deduplicated).
$0.08 default
View details
POST /extract-pricing Heuristically parse pricing plans (name, price, currency, billing period, features) from a pricing page. Each plan gets its own detected currency. Returns plans [] with confidence 0 when nothing matches. Best-effort, not a guaranteed parser for every layout.
$0.08 default
View details
POST /page-to-agent-json One combined, agent-readable summary of a page — title, short summary, links, prices and contacts — assembled from a SINGLE fetch (the most economical of the five). entities is [] in v1 (no entity recognition yet).
$0.08 default
View details
POST /url-to-markdown Fetch a URL, strip noise (script/style/nav/footer/cookie banners) and return the page title plus markdown-ish text (headings as #..######, paragraphs/list-items as lines). Not a full HTML-to-MD conversion.
$0.08 default
View details
Endpoint documentation
POST/extract-company-description
$0.08 default
Description

Return a short company description from a homepage: og:description > meta description > first meaningful paragraph. Cleaned, single-line, truncated to ~280 chars. Never invents text that is not on the page.

Pricing
$0.08 default
Request schema
{
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "company_name": {
      "type": [
        "string",
        "null"
      ]
    },
    "confidence": {
      "type": "number"
    },
    "description": {
      "type": [
        "string",
        "null"
      ]
    },
    "source": {
      "enum": [
        "og_description",
        "meta_description",
        "first_paragraph",
        "unavailable"
      ],
      "type": "string"
    }
  },
  "type": "object"
}
Example request
{
  "url": "https://example.com"
}
Example response
{
  "company_name": "Example",
  "confidence": 0.85,
  "description": "Example provides API tooling for developers.",
  "source": "meta_description"
}
POST/extract-contact-info
$0.08 default
Description

Extract emails, phone numbers, social links and contact URLs from a page. Known placeholder emails are filtered; a same-origin contact page is fetched for extra signal and merged (deduplicated).

Pricing
$0.08 default
Request schema
{
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "contact_urls": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "emails": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "phones": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "socials": {
      "description": "One URL per platform (linkedin/twitter/facebook/instagram).",
      "type": "object"
    }
  },
  "type": "object"
}
Example request
{
  "url": "https://example.com"
}
Example response
{
  "contact_urls": [
    "https://example.com/contact"
  ],
  "emails": [
    "hello@example.com"
  ],
  "phones": [],
  "socials": {
    "linkedin": "https://linkedin.com/company/example"
  }
}
POST/extract-pricing
$0.08 default
Description

Heuristically parse pricing plans (name, price, currency, billing period, features) from a pricing page. Each plan gets its own detected currency. Returns plans [] with confidence 0 when nothing matches. Best-effort, not a guaranteed parser for every layout.

Pricing
$0.08 default
Request schema
{
  "properties": {
    "url": {
      "description": "Pricing page URL, e.g. \"https://example.com/pricing\".",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "confidence": {
      "type": "number"
    },
    "plans": {
      "items": {
        "properties": {
          "billing_period": {
            "enum": [
              "month",
              "year",
              null
            ],
            "type": [
              "string",
              "null"
            ]
          },
          "currency": {
            "type": [
              "string",
              "null"
            ]
          },
          "features": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "name": {
            "type": [
              "string",
              "null"
            ]
          },
          "price": {
            "type": [
              "number",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "type": "array"
    },
    "url": {
      "type": "string"
    }
  },
  "type": "object"
}
Example request
{
  "url": "https://example.com/pricing"
}
Example response
{
  "confidence": 0.86,
  "plans": [
    {
      "billing_period": "month",
      "currency": "EUR",
      "features": [
        "API access",
        "10k requests"
      ],
      "name": "Pro",
      "price": 29
    }
  ],
  "url": "https://example.com/pricing"
}
POST/page-to-agent-json
$0.08 default
Description

One combined, agent-readable summary of a page — title, short summary, links, prices and contacts — assembled from a SINGLE fetch (the most economical of the five). entities is [] in v1 (no entity recognition yet).

Pricing
$0.08 default
Request schema
{
  "properties": {
    "url": {
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "contacts": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "entities": {
      "description": "Empty in v1.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "links": {
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "prices": {
      "items": {
        "type": "object"
      },
      "type": "array"
    },
    "summary": {
      "type": [
        "string",
        "null"
      ]
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": "string"
    }
  },
  "type": "object"
}
Example request
{
  "url": "https://example.com"
}
Example response
{
  "contacts": [
    "hello@example.com"
  ],
  "entities": [],
  "links": [
    "https://example.com/pricing"
  ],
  "prices": [],
  "summary": "Short page summary.",
  "title": "Example",
  "url": "https://example.com"
}
POST/url-to-markdown
$0.08 default
Description

Fetch a URL, strip noise (script/style/nav/footer/cookie banners) and return the page title plus markdown-ish text (headings as #..######, paragraphs/list-items as lines). Not a full HTML-to-MD conversion.

Pricing
$0.08 default
Request schema
{
  "properties": {
    "url": {
      "description": "Absolute URL, e.g. \"https://example.com\".",
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "markdown": {
      "type": "string"
    },
    "title": {
      "type": [
        "string",
        "null"
      ]
    },
    "url": {
      "type": "string"
    }
  },
  "type": "object"
}
Example request
{
  "url": "https://example.com"
}
Example response
{
  "markdown": "# Example\n\nClean page content...",
  "title": "Example",
  "url": "https://example.com"
}