YepAPI
Web Scraping

Standard Scrape

Scrape any URL and get back clean markdown, HTML, or structured data.

POST/v1/scrape
$0.01/call

Usage

const res = await fetch('https://api.yepapi.com/v1/scrape', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ url: 'https://example.com', format: 'markdown' }),
});
const { data } = await res.json();
console.log(data.markdown);
curl -X POST https://api.yepapi.com/v1/scrape \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "format": "markdown"}'

Request Body

ParameterTypeRequiredDescriptionDefault
urlstringYesURL to scrape
formatstringNoOutput format: markdown, html, text"markdown"
waitFornumberNoWait for JS rendering (ms)0
selectorstringNoCSS selector to extract specific element

Response

{
  "ok": true,
  "data": {
    "url": "https://example.com",
    "statusCode": 200,
    "title": "Example Domain",
    "markdown": "# Example Domain\n\nThis domain is for use in illustrative examples...",
    "metadata": {
      "description": "Example Domain",
      "ogTitle": "Example Domain"
    }
  }
}

Response Fields

FieldTypeDescription
okbooleanWhether the request succeeded
dataobjectResponse payload
data.urlstringThe URL that was scraped
data.statusCodenumberHTTP status code returned by the target page
data.titlestringPage title extracted from the <title> tag
data.markdownstringPage content converted to clean Markdown
data.metadataobjectExtracted page metadata
data.metadata.descriptionstringMeta description of the page
data.metadata.ogTitlestringOpen Graph title, if present
Under the Hood

Under the hood, this uses our scraping infrastructure with JS rendering enabled by default. We handle proxy rotation, CAPTCHA solving, and convert the raw HTML to clean markdown automatically.

On this page