← APIs / Convert HTML to Markdown API
Verified

Convert HTML to Markdown API

ApyHubby ApyHub · Developer Tools

Convert public web pages into clean, structured Markdown by extracting main content and removing unnecessary boilerplate for easier processing and reuse.

dataapi
Price per request
$0.02
Base URL
https://gateway.apiosk.com/apyhub-chisleroff-convert-html-to-markdown-api
Technical Specs
Auth MethodapiKey
Response FormatJSON
Endpoints1
Endpoints
MethodPathDescriptionCost
POST /chisleroff/tools/html-to-markdown Converts the HTML content of a webpage into Markdown. You provide the webpage URL, and the response returns the converted Markdown along with related metadata.
$0.02 default
View details
Endpoint documentation
POST/chisleroff/tools/html-to-markdown
$0.02 default
Description

Converts the HTML content of a webpage into Markdown. You provide the webpage URL, and the response returns the converted Markdown along with related metadata.

Documentation

Convert HTML to Markdown

**Method:** POST
**Apiosk URL:** https://gateway.apiosk.com/apyhub-chisleroff-convert-html-to-markdown-api/chisleroff/tools/html-to-markdown
**Request content type:** application/json
**Response content type:** application/json

What it does

Converts the HTML content of a webpage into Markdown. You provide the webpage URL, and the response returns the converted Markdown along with related metadata.

Request Body

| Parameter | Type | Mandatory | Description |
| --------- | ------ | --------- | ----------- |
| url | String | Yes | URL of the webpage to convert to Markdown (http/https only, max 2048 chars). |

Response

Returns a JSON object with title and markdown as strings, character_count as an integer, and readability_success as a boolean.

| Parameter | Type | Mandatory | Description |
| --------- | ------ | --------- | ----------- |
| title | String | No | Title of the converted webpage. |
| markdown | String | No | Markdown representation of the webpage content. |
| character_count | Integer | No | Number of characters in the converted Markdown output. |
| readability_success | Boolean | No | Indicates whether readability processing succeeded. |

Quickstart

Convert a webpage into Markdown by sending its URL.

bash
curl -X POST "https://gateway.apiosk.com/apyhub-chisleroff-convert-html-to-markdown-api/chisleroff/tools/html-to-markdown" \
-H "PAYMENT-SIGNATURE: $PAYMENT_SIGNATURE" \
-H "Content-Type: application/json" \
-d '{"url":"https://assets.apyhub.com/samples/sample.html"}'

What you'll get back

Returns a JSON object with title as a string, markdown as a string, character_count as an integer, and readability_success as a boolean.

json
{
"title": "Apy Samples",
"markdown": "# **A consequuntur voluptatem ut mollitia voluptatem.**\n\nLorem ipsum dolor sit amet. Aut aspernatur quibusdam hic amet quas nam internos consequatur et ipsam repellendus ut galisum obcaecati. In repudiandae ipsa aut dolor asperiores et sint voluptatem aut voluptates quia. Nam numquam enim ut dolorum sunt **Et doloremque cum temporibus debitis aut labore delectus et odit tempore** in autem odio. Aut impedit fugit ut voluptate rerum sit culpa voluptatem ab galisum perferendis q\n\n[example truncated]",
"character_count": 7430,
"readability_success": true
}

Payment and authentication

Do not send an apy-token. Apiosk injects the APYHub credential server-side. The first unpaid request returns HTTP 402 Payment Required with a PAYMENT-REQUIRED header. Sign an accepted USDC payment and retry the same request with the proof in PAYMENT-SIGNATURE (or use an Apiosk/x402-aware agent client that performs this exchange automatically).

The $PAYMENT_SIGNATURE placeholder in the example is the signed proof obtained from that initial 402 response.

Source

Parameter definitions and limits were synchronized from [APYHub's official documentation](https://apyhub.com/chisleroff/service/convert-html-to-markdown) on 2026-07-18.

Pricing
$0.02 default
Authentication

Pay per request through Apiosk using x402. Do not send an apy-token; the gateway injects the selected APYHub key server-side.

Request schema
{
  "properties": {
    "url": {
      "description": "URL of the webpage to convert to Markdown (http/https only, max 2048 chars).",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "type": "object"
}
Response schema
{
  "properties": {
    "character_count": {
      "type": "integer"
    },
    "markdown": {
      "type": "string"
    },
    "readability_success": {
      "type": "boolean"
    },
    "title": {
      "type": "string"
    }
  },
  "type": "object"
}
Headers
{
  "properties": {
    "PAYMENT-SIGNATURE": {
      "description": "Signed x402 v2 payment proof. Obtain the payment requirements from the initial HTTP 402 response.",
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}
Example request
{
  "url": "https://example.com"
}
Example response
{
  "character_count": 7430,
  "markdown": "# **A consequuntur voluptatem ut mollitia voluptatem.**\n\nLorem ipsum dolor sit amet. Aut aspernatur quibusdam hic amet quas nam internos consequatur et ipsam repellendus ut galisum obcaecati. In repudiandae ipsa aut dolor asperiores et sint voluptatem aut voluptates quia. Nam numquam enim ut dolorum sunt **Et doloremque cum temporibus debitis aut labore delectus et odit tempore** in autem odio. Aut impedit fugit ut voluptate rerum sit culpa voluptatem ab galisum perferendis q\n\n[example truncated]",
  "readability_success": true,
  "title": "Apy Samples"
}