---
title: "/scrape: non-JS scraping"
method: POST
path: "/scrape"
---

# /scrape: non-JS scraping

`POST /scrape`

Use high-performance web scraping endpoint with Chrome browser TLS fingerprint, but without JavaScript execution and real browser overhead.

## Request body

- object
  - `url` string, required — URL to scrape
  - `headers` string[] — Custom headers to send with the request. By default, regular Chrome browser headers are sent to the target URL.
  - `retryNum` integer — Amount of attempts.
  - `geo` string — 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](https://scrapeninja.net/docs/proxy-setup/)
  - `proxy` string — Premium or your own proxy URL (overrides `geo` field). [Read more about ScrapeNinja proxy setup](https://scrapeninja.net/docs/proxy-setup/)
  - `followRedirects` integer — Follow redirects.
  - `timeout` integer — Timeout per attempt, in seconds. Each retry will take [timeout] number of seconds.
  - `textNotExpected` string[] — Text which will trigger a retry from another proxy address.
  - `statusNotExpected` integer[] — HTTP response statuses which will trigger a retry from another proxy address.
  - `extractor` string — Custom JS function to extract JSON values from scraped HTML. Write&test your own extractor on https://scrapeninja.net/cheerio-sandbox/

## Response `200`

OK

- object
  - `info` object
    - `statusCode` integer, required
    - `finalUrl` string, required
    - `headers` string[], required
  - `body` string — HTML body of the rendered page.

---

[API](https://skmtc.net/scrapeninja/apis/scrapeninja-web-scraping-api.md) · [All operations](https://skmtc.net/scrapeninja/apis/scrapeninja-web-scraping-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/scrapeninja/scrapeninja-web-scraping-api/versions/2c9c9b7cadd0/schema)
