/scrape-js: scraping with JS rendering
POST/scrape-js
Launches real Chrome browser engine, use only when /scrape endpoint features are not enough.
Request
- application/json
Body
required
URL to scrape
CSS selector to wait to appear in DOM tree before page is considered as loaded.
If some particular iframe needs to be dumped, specify its name
HTML value in this argument. The ScrapeNinja JS renderer will wait for CSS selector to wait for iframe DOM elements to appear inside.
If dumpIframe
is activated, this property allows to wait for CSS selector inside this iframe.
If dumpIframe
is activated, this property allows to run JS extractor function against iframe HTML instead of running it against base body. This is only useful if dumpIframe
is activated.
Custom headers to send with the request. By default, regular Chrome browser headers are sent to the target URL.
Amount of attempts.
Default value: us
Geo location for basic proxy pools (you can purchase premium ScrapeNinja proxies for wider country selection and higher proxy quality). Read more about ScrapeNinja proxy setup
Premium or your own proxy URL (overrides geo
field). Read more about ScrapeNinja proxy setup
Default value: 16
Timeout per attempt, in seconds. Each retry will take [timeout] number of seconds.
Text which will trigger a retry from another proxy address.
Default value: 403,502
HTTP response statuses which will trigger a retry from another proxy address.
Block images from loading. This will speed up page loading and reduce bandwidth usage.
Block (CSS, fonts) from loading. This will speed up page loading and reduce bandwidth usage.
Take a screenshot of the page. Pass "false" to increase the speed of the request.
Useful to dump some XHR response. Pass URL mask here. For example, if you need to catch all requests to https://example.com/api/data.json, pass "api/data.json" here. In response, you will get new property .info.catchedAjax
with the XHR response data - { url, method, headers[], body , status, responseHeaders{} }
viewport object
Advanced. Set custom viewport size. By default, viewport size is 1920x1080.
Custom JS function to extract JSON values from scraped HTML. Write&test your own extractor on https://scrapeninja.net/cheerio-sandbox/
Responses
- 200
OK
- application/json
- Schema
- Example (from schema)
Schema
info object
catchedAjax object
Array of request headers
If dumpIframe
is activated, this property contains iframe HTML.
Object with response headers
HTML body of the rendered page.
{
"info": {
"statusCode": 200,
"finalUrl": "https://example.com/url",
"catchedAjax": {
"url": "https://example.com/api/data.json",
"method": "GET",
"headers": [
"content-type: xxx",
"header2: val2"
],
"body": "<html><body><h1>Hello World!</h1></body></html>",
"bodyIframe": "<html><body><h1>Iframe content</h1></body></html>",
"status": 200,
"responseHeaders": {
"content-type": "application/json"
}
},
"headers": [
"content-type: xxx",
"header2: val2"
]
},
"body": "<html><body><h1>Hello World!</h1></body></html>"
}