{"info":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","description":"<html><head></head><body><p>Key is set in the header \"X-SOAX-API-Secret\" , please request key from your contact at soax.com</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"31421915","collectionId":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","publishedId":"2sB2qi9JN2","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2025-07-01T08:40:34.000Z"},"item":[{"name":"API Usage","item":[{"name":"Get Usage Statistics by Calls","id":"e5c795a7-d72a-4092-9089-968f24003003","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"url":"https://scraping.soax.com/v1/stats/usage","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","stats","usage"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e5c795a7-d72a-4092-9089-968f24003003"},{"name":"Get Daily Usage Statistics","id":"44c768d2-eefe-4ef8-8214-fd80d6012e2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"url":"https://scraping.soax.com/v1/stats/usage/time?days={{days}}","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","stats","usage","time"],"host":["scraping","soax","com"],"query":[{"key":"days","value":"{{days}}"}],"variable":[]}},"response":[],"_postman_id":"44c768d2-eefe-4ef8-8214-fd80d6012e2a"}],"id":"ce833fae-740a-43a4-82e2-4f677a9f755a","_postman_id":"ce833fae-740a-43a4-82e2-4f677a9f755a","description":"","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}}},{"name":"Web Data API","item":[{"name":"Get Web Page","id":"3175f5b6-7717-4b19-abed-ab4716bc01db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"response\": {\n    \"body\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3175f5b6-7717-4b19-abed-ab4716bc01db"},{"name":"Get Screenshot","id":"3d2d9dee-a3bd-4e73-a506-32fda34fc4a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"response\": {\n    \"screenshot\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3d2d9dee-a3bd-4e73-a506-32fda34fc4a3"},{"name":"Get Markdown","id":"72302e35-92f6-4ee1-8231-9a9d3018ccf7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"response\": {\n    \"markdown\": true\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"72302e35-92f6-4ee1-8231-9a9d3018ccf7"},{"name":"Get Cookies","id":"fb971ba4-50b6-4a06-972e-6f0aa9c85350","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"response\": {\n    \"cookies\": true //whether to return cookies\n\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fb971ba4-50b6-4a06-972e-6f0aa9c85350"},{"name":"Get XHR","id":"4d32435a-c612-4a4a-b358-43a9ff11af08","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"response\": {\n    \"xhr\": true //whether to return XHR requests\n\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"4d32435a-c612-4a4a-b358-43a9ff11af08"},{"name":"Get Request Headers","id":"7bd9b9c3-24e4-44e6-b8c1-2a2aa9aa3382","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n    \"request\": \n    {\n        \"filters\": {\"types\":[\"Document\"], \n                    \"url_patterns\":[\"search\"],\n                    \"block_types\": [\n                                    \"Image\",\n                                    \"Media\",\n                                    \"Font\",\n                                    \"Script\",\n                                    \"TextTrack\",\n                                    \"XHR\",\n                                    \"Fetch\",\n                                    \"Prefetch\",\n                                    \"EventSource\",\n                                    \"WebSocket\",\n                                    \"Manifest\",\n                                    \"SignedExchange\",\n                                    \"Ping\",\n                                    \"CSPViolationReport\",\n                                    \"Preflight\",\n                                    \"Other\"\n                                ]\n                            }\n    },\n    \"response\": {\n        \"body\": false,\n        \"screenshot\": false,\n        \"xhr\": true,\n        \"headers\": true,\n        \"markdown\": false,\n        \"cookies\": true\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"7bd9b9c3-24e4-44e6-b8c1-2a2aa9aa3382"},{"name":"Get Advanced","id":"06c40fac-ad0a-4f96-85c4-5304f5fb9762","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"proxy_settings\": {\n    \"country\": \"{{country}}\", // Proxy country to use (e.g. us)\n    \"type\": {{proxy_type}} // Proxy type to use: 1 - WiFi, 2 - mobile\n  },\n  \"response\": {\n    \"body\": {{body_bool}}, //whether to return html or not (true|false)\n    \"screenshot\": {{screenshot_bool}}, //whether to return screenshot (base64) or not (true|false)\n    \"xhr\": {{xhr_bool}}, //whether to return XHR requests or not (true|false)\n    \"markdown\": {{markdown_bool}}  //whether to return markdown converted html or not (true|false)\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"06c40fac-ad0a-4f96-85c4-5304f5fb9762"},{"name":"Proxy Settings","id":"698d50d5-39f9-4904-862e-69240857fc0b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n    \"proxy_settings\": {\n    \"country\": \"{{country}}\", // Proxy country to use (e.g. us)\n    \"type\": {{proxy_type}} // Proxy type to use: 1 - WiFi, 2 - mobile\n  },\n  \"response\": {\n    \"screenshot\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"698d50d5-39f9-4904-862e-69240857fc0b"},{"name":"Use Custom Proxy","id":"fc7d487a-2516-4d03-966d-4c919ac02cf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n    \"proxy_settings\": {\n    \"proxy\": \"{{custom_proxy}}\" //Full proxy URL in format: http://user:password@proxy.host.com:port. When specified, overrides country and type parameters\n  },\n  \"response\": {\n    \"body\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fc7d487a-2516-4d03-966d-4c919ac02cf2"},{"name":"Selective Resource Fetching","id":"342f56e4-b371-4d0c-acfa-d2d32cf1b680","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"request\": {\n    \"filters\": {\n      \"types\": [\"Fetch\"]\n    }\n  },\n\n  \"response\": {\n    \"xhr\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"342f56e4-b371-4d0c-acfa-d2d32cf1b680"},{"name":"Resource Blocking","id":"f156f420-8b22-4548-9690-991d266bae34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n    \"request\": {\n        \"filters\": {\n            \"block_types\": [\n                \"Stylesheet\",\n                \"Image\"\n            ]\n        }\n    },\n  \"response\": {\n    \"body\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"f156f420-8b22-4548-9690-991d266bae34"},{"name":"Simulate User Actions","id":"aedc9a07-458a-4169-98ab-bb2d1f86b63f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"request\": {\n    \"execute_js\": {\n      \"scripts\": [\n        {\n          \"script\": \"document.querySelector('#username').value='myuser';\"\n        },\n        {\n          \"script\": \"document.querySelector('#password').value='mypass';\"\n        },\n        {\n          \"script\": \"document.querySelector('#loginButton').click()\",\n          \"after_script\": {\n            \"sleep\": 5,\n            \"wait_for_any\": [\"#captcha_element\", \".login-error\", \"#dashboard\"]\n          }\n        }\n      ]\n    }\n  },\n  \"response\": {\n    \"body\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"aedc9a07-458a-4169-98ab-bb2d1f86b63f"},{"name":"Control Timing","id":"57446ccd-2953-40e5-a1cd-d1269f676f95","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"X-SOAX-API-Secret","value":"{{X-SOAX-API-Secret}}"}],"body":{"mode":"raw","raw":"{\n  \"url\": \"{{target_url}}\",\n  \"request\": {\n    \"execute_js\": {\n      \"scripts\": [\n        {\n          \"script\": \"\",\n          \"after_script\": {\n            \"sleep\": 5,\n            \"wait_for_any\": [\"#captcha_element\", \".login-error\", \"#dashboard\"]\n          }\n        }\n      ]\n    }\n  },\n  \"response\": {\n    \"body\": true \n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://scraping.soax.com/v1/webdata/fetch-content","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}},"urlObject":{"protocol":"https","path":["v1","webdata","fetch-content"],"host":["scraping","soax","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"57446ccd-2953-40e5-a1cd-d1269f676f95"}],"id":"f0310b1a-78d8-47b4-86c4-79b5a339fca3","description":"<h2 id=\"overview\">Overview</h2>\n<p>This API provides configuration settings for making web requests with proxy support, advanced response handling, resource blocking, and custom JavaScript execution capabilities.</p>\n<h2 id=\"configuration-structure\">Configuration Structure</h2>\n<h3 id=\"main-parameters\">Main Parameters</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>url</code></td>\n<td>string</td>\n<td>-</td>\n<td>Required. The target URL to process</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"proxy-settings-proxy_settings\">Proxy Settings (<code>proxy_settings</code>)</h3>\n<p>Optional. Configure proxy server settings for requests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>proxy</code></td>\n<td>string</td>\n<td>-</td>\n<td>Optional. Full proxy URL in format: <code>http://user:password@proxy.host.com:port</code>. When specified, overrides <code>country</code> and <code>type</code> parameters</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>string</td>\n<td>\"us\"</td>\n<td>Proxy server country code</td>\n</tr>\n<tr>\n<td><code>type</code></td>\n<td>number</td>\n<td>1</td>\n<td>Connection type: <code>1</code> for WiFi, <code>2</code> for Mobile</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"request-configuration-request\">Request Configuration (<code>request</code>)</h3>\n<p>Optional settings for request handling, filtering, and interaction.</p>\n<h4 id=\"request-filters-requestfilters\">Request Filters (<code>request.filters</code>)</h4>\n<p>Optional. Configure filtering for resources and requests.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>types</code></td>\n<td>array</td>\n<td>[\"XHR\", \"Fetch\"]</td>\n<td>When <code>response.xhr</code> is true, only collects requests matching these types. Applied against <code>url_patterns</code>.  <br />  <br />Full list: <code>Document, Stylesheet, Image, Media, Font, Script, TextTrack, XHR, Fetch, Prefetch, EventSource, WebSocket, Manifest, SignedExchange, Ping, CSPViolationReport, Preflight, Other</code></td>\n</tr>\n<tr>\n<td><code>url_patterns</code></td>\n<td>array</td>\n<td>[\"/\"]</td>\n<td>URL patterns for XHR request filtering . Uses simple string matching (substring).</td>\n</tr>\n<tr>\n<td><code>block_types</code></td>\n<td>array</td>\n<td><code>[]</code></td>\n<td>An array of resource types to block during page load. Blocking resources can speed up loading but might break page functionality. Possible values: <code>Document, Stylesheet, Image, Media, Font, Script, TextTrack, XHR, Fetch, Prefetch, EventSource, WebSocket, Manifest, SignedExchange, Ping, CSPViolationReport, Preflight, Other</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"javascript-execution-requestexecute_js\">JavaScript Execution (<code>request.execute_js</code>)</h4>\n<p>Optional. Allows executing custom JavaScript snippets on the page during different stages of loading.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>scripts</code></td>\n<td>array</td>\n<td><code>[]</code></td>\n<td>An array of script objects to execute sequentially on the loaded page.</td>\n</tr>\n</tbody>\n</table>\n</div><p>Each object within the <code>scripts</code> array has the following structure:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>script</code></td>\n<td>string</td>\n<td>-</td>\n<td><strong>Required.</strong> The JavaScript code to execute in the page context.</td>\n</tr>\n<tr>\n<td><code>before_script</code></td>\n<td>object</td>\n<td><code>{}</code></td>\n<td>Optional. Conditions to wait for <em>before</em> executing the <code>script</code>.</td>\n</tr>\n<tr>\n<td><code>after_script</code></td>\n<td>object</td>\n<td><code>{}</code></td>\n<td>Optional. Conditions to wait for <em>after</em> executing the <code>script</code>.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The <code>before_script</code> and <code>after_script</code> objects can contain the following fields:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>sleep</code></td>\n<td>number</td>\n<td><code>0</code></td>\n<td>Seconds to pause before checking wait conditions or executing the next step.</td>\n</tr>\n<tr>\n<td><code>wait_for</code></td>\n<td>array</td>\n<td><code>[]</code></td>\n<td>An array of CSS selectors. Waits until <strong>all</strong> elements matching these selectors are present on the page.</td>\n</tr>\n<tr>\n<td><code>wait_for_any</code></td>\n<td>array</td>\n<td><code>[]</code></td>\n<td>An array of CSS selectors. Waits until <strong>at least one</strong> element matching any of these selectors is present on the page.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-configuration-response\">Response Configuration (<code>response</code>)</h3>\n<p>Configure the format and content of the response.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Default</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>body</code></td>\n<td>boolean</td>\n<td>false</td>\n<td>When true:- Returns HTML page source if <code>screenshot=false</code>, <code>xhr=false</code>, <code>cookies=false</code> and no <code>request.filters.url_patterns</code> are set.- Returns JSON containing the <code>html</code> field if other response options (<code>screenshot</code>, <code>xhr</code>, <code>cookies</code>) are true or if <code>request.filters.url_patterns</code> is set.</td>\n</tr>\n<tr>\n<td><code>screenshot</code></td>\n<td>boolean</td>\n<td>false</td>\n<td>When true:- Returns image data directly if <code>body=false</code>, <code>xhr=false</code>, <code>cookies=false</code> and no <code>request.filters.url_patterns</code>.- Returns JSON containing the <code>screenshot</code> field (Base64 encoded image) if other response parameters are set.</td>\n</tr>\n<tr>\n<td><code>xhr</code></td>\n<td>boolean</td>\n<td>false</td>\n<td>When true, collects network requests matching <code>request.filters.types</code> and <code>request.filters.url_patterns</code>. Uses \"/\" as the default pattern if <code>url_patterns</code> is not set. Returns JSON containing the <code>requests</code> field. Tries to wait for all XHR requests to complete. If you have url_patterns set and need only those XHR requests, don't set \"xhr\" to true</td>\n</tr>\n<tr>\n<td><code>markdown</code></td>\n<td>boolean</td>\n<td>false</td>\n<td>When true, converts the final HTML body to Markdown and returns it in the <code>markdown</code> field within the JSON response. Requires <code>body=true</code>.</td>\n</tr>\n<tr>\n<td><code>cookies</code></td>\n<td>boolean</td>\n<td>false</td>\n<td>When true, returns an array of cookies set by the page in the <code>cookies</code> field within the JSON response.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"sample-requests\">Sample Requests</h2>\n<h3 id=\"1-basic-request-with-url\">1. Basic Request with URL</h3>\n<p>Returns default response (often minimal info, depends on server default).</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://shopee.tw/\",\n  \"proxy_settings\": {\n    \"country\": \"tw\",\n    \"type\": 1\n  }\n}\n\n</code></pre>\n<h3 id=\"2-request-with-xhr-monitoring\">2. Request with XHR Monitoring</h3>\n<p>Monitors specific XHR/Fetch calls and returns them.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://shopee.tw/\",\n  \"proxy_settings\": {\n    \"country\": \"tw\"\n  },\n  \"request\": {\n    \"filters\": {\n      \"types\": [\"XHR\", \"Fetch\"],\n      \"url_patterns\": [\"get_pc\"]\n    }\n  },\n  \"response\": {\n    \"xhr\": true\n  }\n}\n\n</code></pre>\n<h3 id=\"3-full-response-request-html-screenshot-xhr\">3. Full Response Request (HTML, Screenshot, XHR)</h3>\n<p>Returns HTML body, a screenshot, and monitored XHR requests.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://shopee.tw/\",\n  \"proxy_settings\": {\n    \"country\": \"tw\"\n  },\n  \"request\": {\n    \"filters\": {\n      \"types\": [\"XHR\", \"Fetch\"],\n      \"url_patterns\": [\"get_pc\"]\n    }\n  },\n  \"response\": {\n    \"body\": true,\n    \"screenshot\": true,\n    \"xhr\": true\n  }\n}\n\n</code></pre>\n<h3 id=\"4-custom-proxy-with-screenshots\">4. Custom Proxy with Screenshots</h3>\n<p>Uses a specific proxy and returns a screenshot.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://shopee.tw/\",\n  \"proxy_settings\": {\n    \"proxy\": \"http://user:pass@proxy.example.com:8080\"\n  },\n  \"response\": {\n    \"screenshot\": true\n  }\n}\n\n</code></pre>\n<h3 id=\"5-request-with-resource-blocking\">5. Request with Resource Blocking</h3>\n<p>Loads the page faster by blocking images and stylesheets, then returns the HTML body.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"url\": \"https://www.google.com/search?q=test+search\",\n    \"request\": {\n        \"filters\": {\n            \"block_types\": [\n                \"Stylesheet\",\n                \"Image\"\n            ]\n        }\n    },\n    \"response\": {\n        \"body\": true\n    }\n}\n\n</code></pre>\n<h3 id=\"6-request-with-javascript-execution-and-cookie-retrieval\">6. Request with JavaScript Execution and Cookie Retrieval</h3>\n<p>Executes JavaScript to interact with a login form (example), waits for potential captcha elements, and returns the final page HTML along with cookies.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"url\": \"https://example.com/login\",\n  \"proxy_settings\": {\n    \"proxy\": \"http://user:pass@proxy.example.com:8080\"\n  },\n  \"request\": {\n    \"execute_js\": {\n      \"scripts\": [\n        {\n          \"script\": \"document.querySelector('#username').value='myuser';\"\n        },\n        {\n          \"script\": \"document.querySelector('#password').value='mypass';\"\n        },\n        {\n          \"script\": \"document.querySelector('#loginButton').click()\",\n          \"after_script\": {\n            \"sleep\": 5,\n            \"wait_for_any\": [\"#captcha_element\", \".login-error\", \"#dashboard\"]\n          }\n        }\n      ]\n    }\n  },\n  \"response\": {\n    \"body\": true,\n    \"cookies\": true\n  }\n}\n\n</code></pre>\n<h2 id=\"response-examples\">Response Examples</h2>\n<h3 id=\"1-basic-html-response-body-true\">1. Basic HTML Response (<code>body: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"html\": \"&lt;html&gt;....&lt;/html&gt;\"\n}\n\n</code></pre>\n<h3 id=\"2-screenshot-response-screenshot-true\">2. Screenshot Response (<code>screenshot: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"screenshot\": \"base64_encoded_image_data\"\n}\n\n</code></pre>\n<h3 id=\"3-xhr-request-response-xhr-true\">3. XHR Request Response (<code>xhr: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"requests\": [\n    {\n      \"url\": \"https://shopee.tw/api/v4/pdp/get_pc?param=value\",\n      \"method\": \"GET\",\n      \"headers\": { \"...\": \"...\" },\n      \"response\": {\n        \"status\": 200,\n        \"headers\": { \"...\": \"...\" },\n        \"body\": \"{...}\"\n      }\n    }\n    // ... other matched requests\n  ]\n}\n\n</code></pre>\n<h3 id=\"4-combined-response-body-true-screenshot-true-xhr-true\">4. Combined Response (<code>body: true, screenshot: true, xhr: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"html\": \"&lt;html&gt;&lt;/html&gt;\",\n  \"screenshot\": \"base64_encoded_image_data\",\n  \"requests\": [\n    {\n      \"url\": \"https://shopee.tw/api/v4/pdp/get_pc\",\n      \"method\": \"GET\",\n      \"headers\": {},\n      \"response\": {}\n    }\n  ]\n}\n\n</code></pre>\n<h3 id=\"5-response-with-cookies-cookies-true\">5. Response with Cookies (<code>cookies: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"html\": \"&lt;html&gt;...&lt;/html&gt;\",\n  \"cookies\": [\n    {\n      \"name\": \"session_id\",\n      \"value\": \"abc123xyz\",\n      \"domain\": \".example.com\",\n      \"path\": \"/\",\n      \"expires\": 1678886400,\n      \"size\": 20,\n      \"httpOnly\": true,\n      \"secure\": true,\n      \"session\": false,\n      \"sameSite\": \"Lax\"\n    },\n    {\n      \"name\": \"user_prefs\",\n      \"value\": \"lang=en&amp;theme=dark\",\n      \"domain\": \"example.com\",\n      \"path\": \"/\",\n      \"expires\": -1,\n      \"size\": 35,\n      \"httpOnly\": false,\n      \"secure\": false,\n      \"session\": true\n    }\n    // ... other cookies\n  ]\n}\n\n</code></pre>\n<h3 id=\"6-markdown-response-markdown-true-body-true\">6. Markdown Response (<code>markdown: true, body: true</code>)</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"markdown\": \"# Page Title\\n\\nThis is a paragraph.\\n\\n* List item 1\\n* List item 2\\n\\n[Link text](https://example.com)\"\n}\n\n</code></pre>\n<p>```</p>\n<h1 id=\"error-codes--troubleshooting\">Error Codes &amp; Troubleshooting</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Code</th>\n<th>Status</th>\n<th>Description</th>\n<th>Resolution</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>OK</td>\n<td>Request successful</td>\n<td>No action needed - your request was processed successfully.</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad Request</td>\n<td>Something is wrong with your request format</td>\n<td>Check your request parameters, syntax, and formatting.</td>\n</tr>\n<tr>\n<td>403</td>\n<td>Forbidden</td>\n<td>Authentication failed</td>\n<td>Verify your API key is valid and properly included in the request.</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too Many Requests</td>\n<td>Rate limit exceeded</td>\n<td>Reduce request frequency or upgrade your plan for higher limits.</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Server Error</td>\n<td>Resource access issue</td>\n<td>Check the URL validity or try adjusting your filter settings.</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"detailed-explanations\">Detailed Explanations</h2>\n<h3 id=\"403---forbidden\">403 - Forbidden</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\"success\": false, \"code\": 403, \"message\": \"key not found\"}\n\n</code></pre>\n<p><strong>Problem</strong>: Your API key is either missing, invalid, or has been revoked.<br /><strong>Actions to Take</strong>:</p>\n<ul>\n<li><p>Verify you're including your API key in the request</p>\n</li>\n<li><p>Check if the API key is correctly formatted</p>\n</li>\n<li><p>Ensure your account is active and in good standing</p>\n</li>\n<li><p>Generate a new API key if necessary</p>\n</li>\n</ul>\n<h3 id=\"400---bad-request\">400 - Bad Request</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\"success\": false, \"code\": 400, \"message\": \"error unlocking url\"}\n\n</code></pre>\n<p><strong>Problem</strong>: Your request contains invalid parameters or formatting issues.<br /><strong>Actions to Take</strong>:</p>\n<ul>\n<li><p>Check all required parameters are included</p>\n</li>\n<li><p>Ensure URL encoding is correct</p>\n</li>\n<li><p>Verify the syntax of your request body</p>\n</li>\n<li><p>Review API documentation for proper request structure</p>\n</li>\n</ul>\n<h3 id=\"500---server-error\">500 - Server Error</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\"success\": false, \"code\": 500, \"message\": \"error unlocking url\"}\n\n</code></pre>\n<p><strong>Problem</strong>: The system cannot access the requested resource, but the issue might be with your request.<br /><strong>Actions to Take</strong>:</p>\n<ul>\n<li><p>Verify the URL is valid and accessible</p>\n</li>\n<li><p>Try adjusting or removing filters</p>\n</li>\n<li><p>Check if the target site is online</p>\n</li>\n<li><p>Consider using different request parameters</p>\n</li>\n<li><p>Wait a few minutes and try again</p>\n</li>\n</ul>\n<h3 id=\"429---too-many-requests\">429 - Too Many Requests</h3>\n<p><strong>Problem</strong>: You've exceeded the rate limits for your account tier.<br /><strong>Actions to Take</strong>:</p>\n<ul>\n<li><p>Implement request throttling in your application</p>\n</li>\n<li><p>Space out your requests over time</p>\n</li>\n<li><p>Consider upgrading to a higher tier with increased limits</p>\n</li>\n<li><p>Check your usage statistics in your account dashboard</p>\n</li>\n</ul>\n<h2 id=\"best-practices\">Best Practices</h2>\n<ul>\n<li><p>Cache results when possible to reduce API calls</p>\n</li>\n<li><p>Implement proper error handling in your code</p>\n</li>\n<li><p>Use exponential backoff for retries</p>\n</li>\n<li><p>Monitor your API usage regularly</p>\n</li>\n</ul>\n","_postman_id":"f0310b1a-78d8-47b4-86c4-79b5a339fca3","auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"},"isInherited":true,"source":{"_postman_id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","id":"06a73d66-8544-4f66-8faf-6ca364d3d6b8","name":"SOAX APIs","type":"collection"}}}],"auth":{"type":"apikey","apikey":{"value":"{{X-SOAX-API-Secret}}","key":"<key>"}},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"f475ad32-52bc-4f1b-89c4-a9778477a5f4"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"966d00ff-002b-417f-bf74-2ebf63998245"}}],"variable":[{"key":"Key","value":"X-SOAX-API-Secret"},{"key":"url","value":"https://scraping.soax.com","type":"string"},{"value":"","type":"string","disabled":true}]}