We handle browsers, proxies, CAPTCHAs and HTML parsing on our side. Just give us a URL and receive the rendered HTML.
Click on the ▶️ button to execute a script
const request = require('request'); const requestPromise = require('request-promise'); const options = { method: 'GET', url: 'https://api.webscraping.ai/html', qs: { api_key: "test-api-key", url: 'https://example.com' } }; await requestPromise(options); // Click “▶ run” to try this code live.
const request = require('request'); const requestPromise = require('request-promise'); const options = { method: 'GET', url: 'https://api.webscraping.ai/selected', qs: { api_key: "test-api-key", url: 'https://www.youtube.com/watch?v=dQw4w9WgXcQ', selector: 'h1.title.style-scope.ytd-video-primary-info-renderer' } }; await requestPromise(options); // Click “▶ run” to try this code live.
const request = require('request'); const requestPromise = require('request-promise'); const options = { method: 'GET', url: 'https://api.webscraping.ai/selected', qs: { api_key: "test-api-key", url: 'https://www.amazon.com/dp/B09JQMW44C/', selector: '.a-price' } }; await requestPromise(options); // Click “▶ run” to try this code live.
const request = require('request'); const requestPromise = require('request-promise'); const options = { method: 'GET', url: 'https://api.webscraping.ai/html', qs: { api_key: "test-api-key", url: 'https://www.instagram.com/nike/?__a=1', proxy: 'residential', timeout: 20000 } }; await requestPromise(options); // Click “▶ run” to try this code live.
const request = require('request'); const requestPromise = require('request-promise'); const options = { method: 'GET', url: 'https://api.webscraping.ai/html', qs: { api_key: "test-api-key", url: 'https://ipapi.co/json/', country: 'ca' // available values are "us", "gb", "de", "it", "fr", "ca", "es", "ru", "jp", "kr" } }; await requestPromise(options); // Click “▶ run” to try this code live.
Simple rules with no hidden fees