Skip to main content
Glama

getOgMarkdown

Read-onlyIdempotent

Convert any URL into clean Markdown, stripping navigation, ads, and boilerplate for LLM-ready prose. Supports targeting specific sections with CSS selectors.

Instructions

Convert any URL's HTML into clean Markdown via the OpenGraph.io API (v3 markdown endpoint). Strips navigation, ads, and boilerplate by default — the result is main-content prose, headings, links, and images ready to read or feed into another model. Use include_tags / exclude_tags to target or remove specific page sections.

IMPORTANT — JavaScript-heavy pages: the v3 smart defaults (auto_render) do NOT apply to the markdown pipeline. If the target URL is an SPA or requires JS execution, you must explicitly set full_render: true to get rendered HTML before conversion. Without it, you will receive the raw server-side HTML (which may be mostly empty for JS apps).

The Markdown text block is capped at 6 000 characters; the full content is always available in the structured markdown field.

Pick the right tool: getOgData → Open Graph tags, social preview metadata (title, description, image, favicon) getOgMarkdown → Clean readable text / article prose — ideal for feeding into an LLM getOgScrapeData → Raw HTML — use when you need to do your own parsing or link extraction getOgExtract → Targeted elements by tag (html_elements) or named CSS selectors (selectors) getOgScreenshot → Visual capture of a page as an image getOgQuery → Natural-language question answered from page content (100–200 credits/request)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesURL of the webpage to convert to Markdown.
retryNoAutomatically retry failed requests.
cache_okNoUse cached results. Set to false to bypass cache. Defaults to true.
use_proxyNoRoute the request through a standard proxy.
auto_proxyNoAutomatically escalate to a proxy if the direct request fails.
accept_langNoAccept-Language header for the outbound request. Defaults to 'auto'.
ai_sanitizeNoScan the fetched content for prompt-injection attempts.
full_renderNoFully render the page with JavaScript before conversion. REQUIRED for SPAs and JS-heavy sites — v3 auto_render does NOT apply to the markdown pipeline.
max_retriesNoMaximum number of retry attempts (1–4). Defaults to 4.
use_premiumNoRoute the request through a premium proxy.
exclude_tagsNoCSS selectors to remove before conversion. Supports wildcard/regex patterns. Example: ['nav', 'footer', '.sidebar', '.ad*'].
include_tagsNoCSS selectors — keep only elements matching these selectors. Example: ['article', 'main', '.content'] to target the main content area only.
use_superiorNoRoute the request through a superior-tier proxy.
max_cache_ageNoMaximum cache age in milliseconds. Defaults to 432000000 (5 days).
proxy_countryNoTwo-letter ISO country code for geo-targeted proxy exit node.
load_more_waitNoMilliseconds to wait after each load_more click (0–5000). Defaults to 1500.
retry_escalateNoEscalate proxy tier on each retry attempt. Defaults to true.
ai_sanitize_modeNo'sanitize' cleans the content, 'warn' returns a safety report, 'block' returns HTTP 422.
load_more_clicksNoNumber of times to click the load_more_selector (1–10). Defaults to 3.
scroll_to_bottomNoScroll to the bottom of the page before conversion. Forces full_render.
only_main_contentNoHeuristically strip navigation, header, footer, and ads, keeping only main prose content. Defaults to true server-side. Set to false to convert the full page.
wait_for_selectorNoCSS selector to wait for before converting. Forces full_render.
load_more_selectorNoCSS selector for a 'load more' button to click before conversion.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
lengthYesCharacter count of the Markdown content
markdownYesFull Markdown content of the page
requestInfoNo
onlyMainContentNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint, idempotentHint, etc. Description adds value by disclosing the 6000-character cap, the need for full_render on SPAs, and default behavior of stripping navigation/ads. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is well-structured with a clear hierarchy: purpose, important note, character cap, then sibling comparison. Front-loaded with essential info. Slightly verbose due to sibling list, but acceptable given complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 23 parameters and an output schema, the description covers main use cases, default behavior, and critical caveats. It mentions the markdown field and cap. Could be more explicit about output structure, but output schema compensates.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description reinforces key parameters (include_tags, exclude_tags, full_render) but does not add significant meaning beyond what the schema already provides. Adequate but not superior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Convert any URL's HTML into clean Markdown' and distinguishes from siblings by listing alternative tools (getOgData, getOgScrapeData, etc.) with specific use cases. The verb+resource is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on when to use this tool vs alternatives via the 'Pick the right tool' section. Also includes caveats for JavaScript-heavy pages, advising when to set full_render. No missing exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/securecoders/opengraph-io-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server