# pline > pline is an adaptive web-scraping API. It automatically selects the fastest strategy capable of fetching a page without being blocked, and exposes URL discovery, SERP search, session, and per-host strategy management as a simple HTTP API. Base API URL: https://api.scrapeswitch.com. Authentication: Bearer token (API key) on every request. ## Documentation - [Home](/): What pline is and what it does, with quick links to get started and the API reference. - [Getting started](/guides/quickstart/getting-started): Create an API key and send your first request. - [SERP](/guides/endpoints/serp): Search the web and get back parsed, structured results. - [RAG pipeline](/recipes/rag-pipeline): Crawl a knowledge base into Markdown and feed it into a retrieval-augmented generation pipeline. - [Web change monitoring](/recipes/web-change-monitoring): Poll a page on a schedule and detect when its content changes. - [Real-time hotel rate monitoring](/recipes/hotel-rate-monitoring): Pull current room rates and availability as structured JSON. - [SERP rank tracking](/recipes/serp-rank-tracking): Pull parsed search results for a keyword and track ranking changes over time. - [Ecommerce product monitoring](/recipes/ecommerce-product-monitoring): Discover a catalog's product URLs and pull structured pricing and availability for all of them. - [Amazon product scraper](/recipes/amazon-product-scraper): Sample POST /scrape request to fetch an Amazon product detail page. - [Walmart product scraper](/recipes/walmart-product-scraper): Sample POST /scrape request to fetch a Walmart product detail page. - [Request history](/guides/request-history): Review past scrape requests and trace request details. - [Usage](/guides/usage): Monitor request volume, credits, and trends. ## API Reference - [API reference overview](/api-reference/index): Endpoint specs, request bodies, and the interactive playground. - [POST /crawl](/api/crawl-start): Start a durable, multi-page crawl of a website. - [GET /crawl/{id}](/api/crawl-status): Poll a crawl job's status and page through its results. - [DELETE /crawl/{id}](/api/crawl-cancel): Cancel a running crawl job. - [POST /batch/scrape](/api/batch-scrape-start): Start a durable batch scrape of many URLs with the same options. - [GET /batch/scrape/{id}](/api/batch-scrape-status): Poll a batch scrape job's status and get result download links. - [DELETE /batch/scrape/{id}](/api/batch-scrape-cancel): Cancel a running batch scrape job. - [POST /map](/api/map): Discover URLs for a website with sitemap-first, best-effort discovery. - [POST /scrape](/api/scrape): Fetch a URL and return page content with orchestration metadata. - [POST /browser/network](/api/browser-network): Load a page in a real browser and capture its network traffic. - [GET /serp](/api/serp): Search the configured search engine (Google, Brave, or DuckDuckGo). - [POST /session](/api/session-create): Register a reusable session playbook (cookies, headers, tags). - [GET /session/{session_id}](/api/session-retrieve): Retrieve a stored session playbook by ID. - [DELETE /session/{session_id}](/api/session-delete): Remove a session playbook from the store. ## Optional - [openapi.json](/openapi.json): Full OpenAPI 3.1 specification for all documented endpoints.