Simple and powerful web scraping API

Just give us a URL and a CSS selector and receive the rendered HTML. We'll handle browsers, proxies and HTML parsing on our side.

Please type your email.
Chrome icon
Google Chrome Rendering
Page content and JavaScript renders in a real browser, so it looks exactly like on your computer.
Server icon
Built-in Proxies
Automatically rotated proxies allow you to scrape any sites without limits. Geotargeting is available.
Code icon
Fast and Secure HTML Parsing
HTML parsing is performed on our side, so you don't have to worry about heavy CPU load and HTML parsers vulnerabilities.

Try it now

                    
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-multiple', qs: { api_key: "test-api-key", url: 'https://google.com/search?q=wikipedia', selector: '.LC20lb' } }; 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' } }; 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/B08N5KWB9H/', selector: '#priceblock_ourprice' } }; 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/selected-multiple', qs: { api_key: "test-api-key", url: 'https://www.linkedin.com/company/microsoft/', selector: '.basic-info-item__description', proxy: 'residential' } }; await requestPromise(options); // Click “▶ run” to try this code live.

Pricing that scales with you

Simple rules with no hidden fees

Personal

$ 29
per month
  •  icon=
    250,000 Successful API Calls
  •  icon=
    10 Concurrent Requests
  •  icon=
    JS Rendering costs 2 calls
  •  icon=
    US Proxies
  •  icon=
    Residential Proxies cost 50 calls
Start with Personal
Best Value

Plus

$ 99
per month
  •  icon=
    1,000,000 Successful API Calls
  •  icon=
    25 Concurrent Requests
  •  icon=
    JS Rendering costs 1 call
  •  icon=
    US Proxies
  •  icon=
    Residential Proxies cost 40 calls
Start with Plus

Startup

$ 249
per month
  •  icon=
    3,000,000 Successful API Calls
  •  icon=
    50 Concurrent Requests
  •  icon=
    JS Rendering costs 1 call
  •  icon=
    Geotargeting
  •  icon=
    Residential Proxies cost 30 calls
Start with Startup

FAQ

Contact us at hello@WebScraping.AI if you have any other questions.
Yes. Sign up for a free account to get 2000 requests per months for free (with a maximum of 2 concurrent connections).
Alternatively, you can use "test-api-key" API key. It's limited to 50 requests per day.
If you downgrade your plan, you'll stay on your current plan until the end of billing period. If you upgrade your plan, you'll be upgraded and charged immediately, the remaining unused calls from the old plan will be added to your new plan quota and expire after 1 month.
Yes, if you're not satisfied with the service, you can get a full refund within 7 days if you've used less than 30% of your plan quota or a partial refund if you've used more.
Yes, we offer custom plans, contact us at hello@WebScraping.AI with details about your usage.
Still have unanswered questions? Get in touch
© 2021 WebScraping.AI | Privacy Policy and Terms of Service
Icon