Skip to content
Get started

Markdown

client.Extract.Markdown(ctx, body) (*ExtractMarkdownResponse, error)
POST/extract/markdown

Fetches a URL and converts its HTML content to clean Markdown format with optional metadata extraction

ParametersExpand Collapse
body ExtractMarkdownParams
URL param.Field[string]

URL to fetch and convert to markdown

formaturi
Effort param.Field[ExtractMarkdownParamsEffort]Optional

Fetch effort level controlling speed vs. capability tradeoff. “min”: fastest, no fallback (1-5s). “standard”: balanced with enhanced reliability (default, 3-15s). “max”: full browser rendering for JS-heavy sites (15-60s).

const ExtractMarkdownParamsEffortMin ExtractMarkdownParamsEffort = "min"
const ExtractMarkdownParamsEffortStandard ExtractMarkdownParamsEffort = "standard"
const ExtractMarkdownParamsEffortMax ExtractMarkdownParamsEffort = "max"
GeoTarget param.Field[ExtractMarkdownParamsGeoTarget]Optional

Optional geotargeting parameters for proxy requests

Country stringOptional

Country code using ISO 3166-1 alpha-2 standard (2 letters, e.g., “US”, “GB”, “JP”). See: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2

Metadata param.Field[bool]Optional

Include extracted metadata (Open Graph and HTML metadata) as a separate field in the response

Nocache param.Field[bool]Optional

Bypass cache and force fresh data retrieval

ReturnsExpand Collapse
type ExtractMarkdownResponse struct{…}
Content string

The markdown content (includes metadata as YAML frontmatter by default)

URL string

The URL that was converted to markdown

formaturi
Metadata ExtractMarkdownResponseMetadataOptional

Extracted metadata from the page (only included when metadata parameter is true)

Author stringOptional

Author information from HTML metadata

CreatedAt stringOptional

Document creation date (ISO 8601)

Creator stringOptional

Creator application (e.g., “Microsoft Word”)

Description stringOptional

Page description from Open Graph or HTML

Image stringOptional

Featured image URL from Open Graph

formaturi
Keywords []stringOptional

PDF keywords as array

ModifiedAt stringOptional

Document modification date (ISO 8601)

PageCount int64Optional

Number of pages (PDF documents)

PdfVersion stringOptional

PDF version (e.g., “1.5”)

Producer stringOptional

PDF producer software (e.g., “Adobe PDF Library”)

Publisher stringOptional

Publisher information from Open Graph

SiteName stringOptional

Site name from Open Graph

Subject stringOptional

PDF-specific metadata fields (populated for PDF documents) PDF subject or summary

Title stringOptional

Page title from Open Graph or HTML

Type stringOptional

Content type from Open Graph (e.g., article, website)

URL stringOptional

Canonical URL from Open Graph

formaturi

Markdown

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/tabstack-go"
  "github.com/stainless-sdks/tabstack-go/option"
)

func main() {
  client := tabstack.NewClient(
    option.WithAPIKey("My API Key"),
  )
  response, err := client.Extract.Markdown(context.TODO(), tabstack.ExtractMarkdownParams{
    URL: "https://example.com/blog/article",
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Content)
}
{
  "content": "# Example Article Title\n\nThis is the article content converted to markdown...",
  "metadata": {
    "author": "Example Author",
    "description": "This is an example article description",
    "image": "https://example.com/images/article.jpg",
    "publisher": "Example Publisher",
    "site_name": "Example Blog",
    "title": "Example Article Title",
    "type": "article",
    "url": "https://example.com/blog/article"
  },
  "url": "https://example.com/blog/article"
}
{
  "content": "---\ntitle: Example Article Title\ndescription: This is an example article description\nauthor: Example Author\npublisher: Example Publisher\nimage: https://example.com/images/article.jpg\nsite_name: Example Blog\nurl: https://example.com/blog/article\ntype: article\n---\n\n# Example Article Title\n\nThis is the article content converted to markdown...",
  "url": "https://example.com/blog/article"
}
{
  "error": "access to internal resources is not allowed"
}
{
  "error": "url is invalid"
}
{
  "error": "failed to convert HTML to Markdown"
}
{
  "error": "failed to fetch URL"
}
Returns Examples
{
  "content": "# Example Article Title\n\nThis is the article content converted to markdown...",
  "metadata": {
    "author": "Example Author",
    "description": "This is an example article description",
    "image": "https://example.com/images/article.jpg",
    "publisher": "Example Publisher",
    "site_name": "Example Blog",
    "title": "Example Article Title",
    "type": "article",
    "url": "https://example.com/blog/article"
  },
  "url": "https://example.com/blog/article"
}
{
  "content": "---\ntitle: Example Article Title\ndescription: This is an example article description\nauthor: Example Author\npublisher: Example Publisher\nimage: https://example.com/images/article.jpg\nsite_name: Example Blog\nurl: https://example.com/blog/article\ntype: article\n---\n\n# Example Article Title\n\nThis is the article content converted to markdown...",
  "url": "https://example.com/blog/article"
}
{
  "error": "access to internal resources is not allowed"
}
{
  "error": "url is invalid"
}
{
  "error": "failed to convert HTML to Markdown"
}
{
  "error": "failed to fetch URL"
}