Quickstart
Make a single request to scrape.shifter.io/v1 and watch Shifter handle proxy rotation, headless Chrome, and retries for you.
-
Grab your API key
Log in at shifter.io/panel and open Web Scraping API → API Keys. Copy an active key.
-
Fetch a page
Terminal window curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com"import requestsparams = {"api_key": "YOUR_API_KEY", "url": "https://example.com"}r = requests.get("https://scrape.shifter.io/v1", params=params)print(r.text)import fetch from 'node-fetch';const url = 'https://scrape.shifter.io/v1?' + new URLSearchParams({api_key: 'YOUR_API_KEY',url: 'https://example.com',});const res = await fetch(url);console.log(await res.text()); -
Turn on JavaScript rendering
Add
render_js=1to spin up headless Chrome and return the fully rendered DOM. Costs the same as a static fetch.Terminal window curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com&render_js=1" -
Extract structured data
Skip the HTML parser. Pass
extract_rulesas URL-encoded JSON and get JSON back:Terminal window curl "https://scrape.shifter.io/v1?api_key=YOUR_API_KEY&url=https://example.com&extract_rules=%7B%22title%22%3A%7B%22selector%22%3A%22h1%22%2C%22output%22%3A%22text%22%7D%7D"# {"title": "Example Domain"}
- Rendering JavaScript, wait for selectors, scroll, click, screenshot.
- Extraction rules, structured output without HTML parsing.
- Sessions & proxies, hold cookies across requests.