canonical: https://jentic.com/apis/pilotapi.dev/pilotapi

# Pilot API

Pilot API is a browser automation and web scraping platform that provides programmatic control over headless Chrome and Firefox instances. The API exposes endpoints for session management, page navigation, element interaction, screenshot capture, PDF generation, and data extraction. Built for developers who need reliable browser automation without managing infrastructure, Pilot API handles proxy rotation, CAPTCHA solving, and anti-bot detection automatically. Authentication is via Bearer token, and sessions are stateful with configurable timeouts. Through Jentic, AI agents can discover and execute browser automation tasks by intent, with credentials managed securely in the encrypted vault.

## For AI agents

Automate browser interactions, scrape web content, capture screenshots, generate PDFs, and extract structured data from websites through a managed headless browser API.

## Scope

Does not handle server-side rendering, static site generation, or website hosting - use for browser automation, web scraping, and data extraction from existing websites only.

## Capabilities

- Launch and manage headless Chrome or Firefox browser sessions with custom viewport and user-agent settings
- Navigate to URLs, click elements, fill forms, and execute JavaScript in browser context
- Extract structured data from web pages using CSS selectors or XPath queries
- Capture full-page or element-specific screenshots in PNG or JPEG format
- Generate PDFs from web pages with custom formatting and print options
- Handle proxy rotation and CAPTCHA solving automatically during scraping workflows
- Monitor page load events, network requests, and console logs for debugging and validation

## Use cases

### E-commerce Price Monitoring

Monitor competitor pricing across multiple e-commerce platforms by launching browser sessions, navigating to product pages, and extracting price data using CSS selectors. Pilot API handles proxy rotation and anti-bot detection automatically, so the scraper runs reliably without triggering rate limits or IP bans. The extracted data can be stored in a database for trend analysis and alerting.

Example prompt: POST /sessions to create a new browser session, then POST `/sessions/{sessionId}/navigate` with the target product URL, followed by POST `/sessions/{sessionId}/extract` using CSS selectors for price elements, and finally DELETE `/sessions/{sessionId}` to clean up.

### Automated Web Testing

Test web applications by simulating user workflows across multiple pages and form submissions. The API exposes click, type, and evaluate endpoints for interacting with page elements, plus screenshot capture for visual regression testing. Session management ensures state is preserved across navigation steps, and console log monitoring helps catch client-side errors during test execution.

Example prompt: Create a session with POST /sessions, navigate to the login page, use POST `/sessions/{sessionId}/type` to fill credentials, POST `/sessions/{sessionId}/click` to submit the form, then POST `/sessions/{sessionId}/screenshot` to capture the result for validation.

### Document Generation from Web Content

Generate PDF archives of web pages for compliance, record-keeping, or offline distribution. The /pdf endpoint accepts formatting options like page size, margins, and print backgrounds, and returns a download URL for the generated document. Useful for automating report generation, creating backups of dynamic content, or archiving web-based documentation at a point in time.

Example prompt: POST /sessions with the target URL, wait for page load confirmation, then POST `/sessions/{sessionId}/pdf` with formatting options to generate the PDF and retrieve the download URL.

### Lead Generation and Contact Extraction

Extract contact information, email addresses, and business details from directory websites, search results, or company pages. Pilot API's extraction endpoint accepts multiple selectors and returns structured JSON, making it straightforward to aggregate data across pagination. Proxy rotation ensures the scraper stays under radar, and session reuse across requests improves performance for bulk extraction workflows.

Example prompt: Create a session, navigate to the directory search page, loop through pagination by calling POST `/sessions/{sessionId}/click` on the next button, and POST `/sessions/{sessionId}/extract` with selectors for email, phone, and company name on each page iteration.

### AI Agent for Web Data Retrieval

Let an AI agent retrieve real-time information from websites by describing the task in natural language, such as 'get the latest blog post from example.com' or 'find the price of this product on retailer.com'. Through Jentic, the agent searches for Pilot API operations by intent, loads the schema for navigation and extraction endpoints, and executes the browser automation workflow without holding raw credentials.

Example prompt: Use the Jentic search query 'extract data from a webpage' to find POST `/sessions/{sessionId}/extract`, load its schema, then execute with the user-provided URL and CSS selectors.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/sessions` | Create a new browser session with specified browser type, viewport, and proxy configuration |
| POST | `/sessions/{sessionId}/navigate` | Navigate the browser to a specified URL and wait for page load |
| POST | `/sessions/{sessionId}/click` | Click an element on the page identified by CSS selector or XPath |
| POST | `/sessions/{sessionId}/type` | Type text into an input field identified by selector |
| POST | `/sessions/{sessionId}/extract` | Extract data from the page using CSS selectors or XPath queries |
| POST | `/sessions/{sessionId}/screenshot` | Capture a screenshot of the current page or specific element |
| POST | `/sessions/{sessionId}/pdf` | Generate a PDF of the current page with custom formatting options |
| DELETE | `/sessions/{sessionId}` | Close and delete a browser session to free resources |

## Key resources

- **Sessions** — Create, manage, and delete stateful browser sessions with configurable browser type, viewport, and proxy settings
- **Navigation** — Navigate to URLs, reload pages, go back/forward in history, and wait for page load or network idle events
- **Interaction** — Click elements, type text into inputs, select dropdowns, and execute arbitrary JavaScript in the browser context
- **Extraction** — Extract text, attributes, or HTML from page elements using CSS selectors or XPath queries
- **Screenshot** — Capture full-page or element-specific screenshots in PNG or JPEG format with custom dimensions
- **PDF Generation** — Generate PDFs from the current page with configurable formatting, margins, and print backgrounds
- **Monitoring** — Access console logs, network request logs, and page performance metrics for debugging and validation

## Why Jentic

- **Setup:** Wiring the Pilot API by hand means setting up its bearer auth and coding the full browser session lifecycle, from creating a session through navigate, click, type, extract, and teardown, yourself. Through Jentic you install once, import Pilot from the API Directory, store the bearer token once, and your agent calls it.
- **Permission scoping:** Pilot puts the session id in the URL path (`/sessions/{sessionId}/...`), so a rule can pin your agent to the sessions it opens: it can navigate, extract, and screenshot within a session. You choose the operations it may call, so ending a session with a delete is not included unless you add it.
- **Credential handling:** Your Pilot API bearer token 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 webpage' or 'take a screenshot of a website', and Jentic returns the matching Pilot browser automation operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Browserless API** — Browserless provides headless Chrome automation with similar screenshot, PDF, and scraping capabilities as Pilot API.
- **Apify API** — Apify offers a marketplace of pre-built scrapers and actors that can be combined with Pilot API's browser automation for complex workflows.

## FAQ

### What authentication does the Pilot API use?

Pilot API uses Bearer token authentication sent in the Authorization header on every request. Tokens are generated from your Pilot API dashboard and can be scoped to specific operations. Through Jentic, tokens are stored encrypted and injected at execution time so they never enter the agent's context.

### Can I use the Pilot API to bypass CAPTCHA challenges?

Yes. Pilot API includes built-in CAPTCHA solving for common providers like reCAPTCHA and hCaptcha. When a CAPTCHA is detected during navigation or form submission, it is solved automatically without requiring additional configuration or third-party services.

### What are the rate limits for the Pilot API?

Rate limits vary by plan tier. The free tier allows 100 sessions per day with a maximum session duration of 5 minutes. Paid plans offer higher limits and longer session durations. All plans enforce a maximum of 10 concurrent sessions per account to ensure fair resource allocation.

### How do I extract data from a dynamic webpage with Pilot API?

Use POST /sessions to create a browser session, navigate to the page with POST `/sessions/{sessionId}/navigate`, wait for the dynamic content to load (using waitUntil parameters), then call POST `/sessions/{sessionId}/extract` with CSS selectors or XPath to pull the data. The API handles JavaScript rendering automatically.

### Does Pilot API support proxy rotation?

Yes. When creating a session, you can specify proxy rotation settings in the request body. Pilot API will automatically rotate through a pool of residential or datacenter proxies to avoid IP-based rate limiting and detection. You can also bring your own proxy list via the API.

### Can I run Pilot API sessions in parallel?

Yes. You can create and manage multiple browser sessions concurrently, up to your account's concurrency limit. Each session is isolated and maintains its own state, cookies, and local storage, making it suitable for parallel scraping or testing workflows.

### Can I limit what my agent is allowed to do with the Pilot API?

Yes. Because you run Jentic One yourself, your own rules decide which Pilot API operations and credentials the agent may use. Since Pilot puts the session id in the URL path (`/sessions/{sessionId}/...`), you can pin the agent to the sessions it opens and allow only the calls you choose, such as navigate, extract, and screenshot within a session. Deleting a session is not included unless you add it, so the operator stays in control of teardown and every other operation.
