canonical: https://jentic.com/apis/scrapeninja.net/scrapeninja

# ScrapeNinja Web Scraping API

High-performance web scraping API with smart retries and proxy rotation, with multiple proxy geos, and with two scraping engines under the hood: high performance engine with Chrome browser TLS fingerprint, but without JavaScript execution and real browser overhead; and real Chrome browser engine, with JS and CSS evaluation and screenshots, when high performance engine features are not enough. The API exposes 3 endpoints secured with apiKey authentication.

## For AI agents

Programmatically non-js scraping, scraping with js rendering. Covers 3 operations with apiKey authentication.

## Scope

Does not handle payments, communications, or crm - use for hr and recruiting only.

## Capabilities

- Non-JS scraping
- Scraping with JS rendering
- Integrate ScrapeNinja Web Scraping API into automated workflows
- Query and filter ScrapeNinja Web Scraping API records by parameters
- Monitor ScrapeNinja Web Scraping API operational status and events

## Use cases

### HR and Recruiting Operations

Use the ScrapeNinja Web Scraping API to perform hr recruiting operations programmatically. The API provides 3 endpoints covering core functionality including non-js scraping, scraping with js rendering, scraping with js rendering (v2).

Example prompt: Call POST /scrape to non-js scraping

### Automated scrape Management

Automate scrape operations by combining multiple ScrapeNinja Web Scraping API endpoints. Agents can scraping with js rendering and then scraping with js rendering (v2) in a single workflow.

Example prompt: Call POST /scrape-js to scraping with js rendering, then verify the result

### AI Agent Integration via Jentic

AI agents discover and call ScrapeNinja Web Scraping API endpoints through Jentic without managing credentials directly. An agent searches for the required operation by intent, receives the matching endpoint schema, and executes the call with Jentic-managed authentication. This eliminates the need to read API documentation or handle apiKey tokens manually.

Example prompt: Search Jentic for 'non-js scraping', load the operation schema, and execute with Jentic-managed credentials

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/scrape` | Non-JS scraping |
| POST | `/scrape-js` | Scraping with JS rendering |
| POST | `/v2/scrape-js` | Scraping with JS rendering (v2) |

## Key resources

- **scrape** — Operations related to scrape
- **scrape-js** — Operations related to scrape-js
- **v2** — Operations related to v2

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 60 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 68 / 100
  - Developer Experience & Jentic Compatibility: 72 / 100
  - AI-Readiness & Agent Experience: 42 / 100
  - Agent Usability: 94 / 100
  - Security: 50 / 100
  - AI Discoverability: 67 / 100
- **View full report:** https://jentic.com/apis/scrapeninja.net/scrapeninja/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the ScrapeNinja Web Scraping API by hand means sending your key in the X-RapidAPI-Key header, picking between the apiroad and rapidapi hosts, and building your own retry handling for failed scrapes. Through Jentic you install once, import ScrapeNinja from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** ScrapeNinja takes the target URL in the request body rather than the path, so you limit the agent to the operations it needs, such as a plain scrape or a JavaScript-rendered scrape. You choose the operations it may call, and any you leave out stay unavailable to the agent.
- **Credential handling:** Your ScrapeNinja API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'scrape a page without JavaScript' or 'scrape a JavaScript-rendered page', and Jentic returns the matching ScrapeNinja operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Greenhouse** — Alternative hr recruiting API
- **Lever** — Alternative hr recruiting API
- **Workday** — Complementary hr recruiting API

## FAQ

### What authentication does the ScrapeNinja Web Scraping API use?

The ScrapeNinja Web Scraping API uses an API key passed in the `X-RapidAPI-Key` header. Through Jentic, these credentials are stored encrypted in your Jentic One instance and injected at execution time, so raw secrets never enter the agent context.

### Can I non-js scraping with the ScrapeNinja Web Scraping API?

Yes. Use the POST /scrape endpoint. The API returns structured JSON responses that agents can parse and act on directly.

### What are the rate limits for the ScrapeNinja Web Scraping API?

Rate limits are not specified in the OpenAPI spec. Check the vendor documentation for current limits. Through Jentic, rate limiting is handled automatically with retry logic built into the execution layer.

### How do I non-js scraping through Jentic?

Install the Jentic SDK with pip install jentic, authenticate through Jentic One, the self-hosted execution layer, then search for 'non-js scraping'. Jentic returns the matching ScrapeNinja Web Scraping API operation with its input schema. Load the schema and execute the call - credentials are injected automatically.

### How many endpoints does the ScrapeNinja Web Scraping API have?

The ScrapeNinja Web Scraping API exposes 3 endpoints covering scrape, scrape-js, v2 operations.

### Can I limit what my agent is allowed to do with the ScrapeNinja Web Scraping API?

Yes. Because Jentic One is self-hosted, you run it yourself and your own rules decide which ScrapeNinja operations and credentials the agent may use. You can allow only a plain scrape (POST /scrape) while withholding the JavaScript-rendered scrapes (POST /scrape-js and POST `/v2/scrape-js`), or any subset you choose, and any operation you leave out stays unavailable to the agent. Since ScrapeNinja takes the target URL in the request body rather than the path, scoping is done at the operation level, and your stored API key is injected at execution time so the agent never handles the raw secret.
