Scrape any website reliably—handle JavaScript rendering, bypass bot detection, and retrieve full-page HTML with ease.
GET https://opengraph.io/api/1.1/scrape/:site // Example API Call https://opengraph.io/api/1.1/scrape/https%3A%2F%2Freddit.com?app_id=xxxxxx //Response <!DOCTYPE html> <html lang="en"> <head> <title>Reddit – Dive into anything</title> <!-- ... HTML content ... --> </head> <body> <!-- ... more HTML ... --> </body> </html>
Instantly fetch raw HTML from any website—no complex setup, no scraping headaches.
Get started with just your app ID and target URL - no complex setup required to begin scraping web content.
Bypass bot detection and scrape restrictive websites with our residential and mobile proxy options.
Capture content from SPA and JavaScript-heavy sites with our headless browser rendering option.
Save on API calls with intelligent caching - get fresh data only when you need it for optimal performance.
Our API handles the hard parts of web scraping—bypassing restrictions, rendering JavaScript, and returning clean HTML—so you can focus on using the data.
https://opengraph.io/api/1.1/scrape/:site?
app_id=xxxxxx// Add cache_ok=false for fresh data// Add full_render=true for JS renderingFine-tune your scraping experience with a comprehensive set of parameters to handle any scraping scenario.
Cache control: Use cached results for faster responses or fetch fresh data when needed with the cache_ok parameter.
JavaScript rendering: Enable full_render to capture content from JavaScript-heavy sites and single-page applications.
Proxy options: Access restricted sites with use_proxy, use_premium, and use_superior for different levels of scraping capabilities.
Our HTML Scraper API enables a wide range of applications and use cases.
Use the language you love
import fetch from 'node-fetch';
// HTML Scraper API
const scrapeSite = async () => {
// Target URL to scrape
const targetUrl = encodeURIComponent("https://example.com");
// Replace xxxxxx with your actual app_id
const url = `https://opengraph.io/api/1.1/scrape/${targetUrl}?app_id=xxxxxx`;
try {
const response = await fetch(url);
if (response.status === 200) {
const htmlContent = await response.text();
console.log('Raw HTML content:');
console.log(htmlContent);
} else {
const errorText = await response.text();
console.error(`Error: API request failed with status code ${response.status}`);
console.error(errorText);
}
} catch (error) {
console.error('Error scraping site:', error);
}
};
scrapeSite();Over 1B Site Previews!

Get started with 100 free API requests per month. No credit card required. Experience the power of our API with zero commitment.
Or try our free Web Scraping Tool first