# Crawlee for JavaScript ยท Build reliable crawlers. Fast. - [Build reliable web scrapers. Fast.](https://crawlee.dev/index.md) ## blog - [Crawlee Blog - learn how to build better scrapers](https://crawlee.dev/blog.md) - [Archive](https://crawlee.dev/blog/archive.md) - [Authors](https://crawlee.dev/blog/authors.md) - [Current problems and mistakes of web scraping in Python and tricks to solve them!](https://crawlee.dev/blog/common-problems-in-web-scraping.md) - [Launching Crawlee Blog](https://crawlee.dev/blog/crawlee-blog-launch.md) - [Crawlee for Python v0.5](https://crawlee.dev/blog/crawlee-for-python-v05.md) - [Crawlee for Python v0.6](https://crawlee.dev/blog/crawlee-for-python-v06.md) - [Crawlee for Python v1](https://crawlee.dev/blog/crawlee-for-python-v1.md) - [How to build a price tracker with Crawlee and Apify](https://crawlee.dev/blog/crawlee-python-price-tracker.md) - [Reverse engineering GraphQL persistedQuery extension](https://crawlee.dev/blog/graphql-persisted-query.md) - [How to scrape Amazon products](https://crawlee.dev/blog/how-to-scrape-amazon.md) - [How to scrape infinite scrolling webpages with Python](https://crawlee.dev/blog/infinite-scroll-using-python.md) - [Announcing Crawlee for Python: Now you can use Python to build reliable web crawlers](https://crawlee.dev/blog/launching-crawlee-python.md) - [How to create a LinkedIn job scraper in Python with Crawlee](https://crawlee.dev/blog/linkedin-job-scraper-python.md) - [Building a Netflix show recommender using Crawlee and React](https://crawlee.dev/blog/netflix-show-recommender.md) - [Crawlee Blog - learn how to build better scrapers](https://crawlee.dev/blog/page/2.md) - [Crawlee Blog - learn how to build better scrapers](https://crawlee.dev/blog/page/3.md) - [How Crawlee uses tiered proxies to avoid getting blocked](https://crawlee.dev/blog/proxy-management-in-crawlee.md) - [How to scrape Bluesky with Python](https://crawlee.dev/blog/scrape-bluesky-using-python.md) - [How to scrape Crunchbase using Python in 2024 (Easy Guide)](https://crawlee.dev/blog/scrape-crunchbase-python.md) - [How to scrape Google Maps data using Python](https://crawlee.dev/blog/scrape-google-maps.md) - [How to scrape Google search results with Python](https://crawlee.dev/blog/scrape-google-search.md) - [How to scrape TikTok using Python](https://crawlee.dev/blog/scrape-tiktok-python.md) - [Optimizing web scraping: Scraping auth data using JSDOM](https://crawlee.dev/blog/scrape-using-jsdom.md) - [How to scrape YouTube using Python [2025 guide]](https://crawlee.dev/blog/scrape-youtube-python.md) - [Web scraping of a dynamic website using Python with HTTP Client](https://crawlee.dev/blog/scraping-dynamic-websites-using-python.md) - [Scrapy vs. Crawlee](https://crawlee.dev/blog/scrapy-vs-crawlee.md) - [Inside implementing SuperScraper with Crawlee](https://crawlee.dev/blog/superscraper-with-crawlee.md) - [Tags](https://crawlee.dev/blog/tags.md) - [10 posts tagged with "community"](https://crawlee.dev/blog/tags/community.md) - [One post tagged with "proxy"](https://crawlee.dev/blog/tags/proxy.md) - [12 tips on how to think like a web scraping expert](https://crawlee.dev/blog/web-scraping-tips.md) ## js - [Build reliable web scrapers. Fast.](https://crawlee.dev/js.md) - [API](https://crawlee.dev/js/api.md) - [@crawlee/basic](https://crawlee.dev/js/api/basic-crawler.md) - [Changelog](https://crawlee.dev/js/api/basic-crawler/changelog.md) - [BasicCrawler ](https://crawlee.dev/js/api/basic-crawler/class/BasicCrawler.md) - [createBasicRouter](https://crawlee.dev/js/api/basic-crawler/function/createBasicRouter.md) - [BasicCrawlerOptions ](https://crawlee.dev/js/api/basic-crawler/interface/BasicCrawlerOptions.md) - [BasicCrawlingContext ](https://crawlee.dev/js/api/basic-crawler/interface/BasicCrawlingContext.md) - [CrawlerAddRequestsOptions](https://crawlee.dev/js/api/basic-crawler/interface/CrawlerAddRequestsOptions.md) - [CrawlerAddRequestsResult](https://crawlee.dev/js/api/basic-crawler/interface/CrawlerAddRequestsResult.md) - [CrawlerExperiments](https://crawlee.dev/js/api/basic-crawler/interface/CrawlerExperiments.md) - [CrawlerRunOptions](https://crawlee.dev/js/api/basic-crawler/interface/CrawlerRunOptions.md) - [CreateContextOptions](https://crawlee.dev/js/api/basic-crawler/interface/CreateContextOptions.md) - [StatusMessageCallbackParams ](https://crawlee.dev/js/api/basic-crawler/interface/StatusMessageCallbackParams.md) - [@crawlee/browser](https://crawlee.dev/js/api/browser-crawler.md) - [Changelog](https://crawlee.dev/js/api/browser-crawler/changelog.md) - [abstractBrowserCrawler ](https://crawlee.dev/js/api/browser-crawler/class/BrowserCrawler.md) - [BrowserCrawlerOptions ](https://crawlee.dev/js/api/browser-crawler/interface/BrowserCrawlerOptions.md) - [BrowserCrawlingContext ](https://crawlee.dev/js/api/browser-crawler/interface/BrowserCrawlingContext.md) - [BrowserLaunchContext ](https://crawlee.dev/js/api/browser-crawler/interface/BrowserLaunchContext.md) - [@crawlee/browser-pool](https://crawlee.dev/js/api/browser-pool.md) - [Changelog](https://crawlee.dev/js/api/browser-pool/changelog.md) - [abstractBrowserController ](https://crawlee.dev/js/api/browser-pool/class/BrowserController.md) - [BrowserLaunchError](https://crawlee.dev/js/api/browser-pool/class/BrowserLaunchError.md) - [abstractBrowserPlugin ](https://crawlee.dev/js/api/browser-pool/class/BrowserPlugin.md) - [BrowserPool ](https://crawlee.dev/js/api/browser-pool/class/BrowserPool.md) - [LaunchContext ](https://crawlee.dev/js/api/browser-pool/class/LaunchContext.md) - [PlaywrightBrowser](https://crawlee.dev/js/api/browser-pool/class/PlaywrightBrowser.md) - [PlaywrightController](https://crawlee.dev/js/api/browser-pool/class/PlaywrightController.md) - [PlaywrightPlugin](https://crawlee.dev/js/api/browser-pool/class/PlaywrightPlugin.md) - [PuppeteerController](https://crawlee.dev/js/api/browser-pool/class/PuppeteerController.md) - [PuppeteerPlugin](https://crawlee.dev/js/api/browser-pool/class/PuppeteerPlugin.md) - [constBROWSER_CONTROLLER_EVENTS](https://crawlee.dev/js/api/browser-pool/enum/BROWSER_CONTROLLER_EVENTS.md) - [constBROWSER_POOL_EVENTS](https://crawlee.dev/js/api/browser-pool/enum/BROWSER_POOL_EVENTS.md) - [BrowserName](https://crawlee.dev/js/api/browser-pool/enum/BrowserName.md) - [constDeviceCategory](https://crawlee.dev/js/api/browser-pool/enum/DeviceCategory.md) - [constOperatingSystemsName](https://crawlee.dev/js/api/browser-pool/enum/OperatingSystemsName.md) - [BrowserControllerEvents ](https://crawlee.dev/js/api/browser-pool/interface/BrowserControllerEvents.md) - [BrowserPluginOptions ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPluginOptions.md) - [BrowserPoolEvents ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPoolEvents.md) - [BrowserPoolHooks ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPoolHooks.md) - [BrowserPoolNewPageInNewBrowserOptions ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPoolNewPageInNewBrowserOptions.md) - [BrowserPoolNewPageOptions ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPoolNewPageOptions.md) - [BrowserPoolOptions ](https://crawlee.dev/js/api/browser-pool/interface/BrowserPoolOptions.md) - [BrowserSpecification](https://crawlee.dev/js/api/browser-pool/interface/BrowserSpecification.md) - [CommonLibrary](https://crawlee.dev/js/api/browser-pool/interface/CommonLibrary.md) - [CreateLaunchContextOptions ](https://crawlee.dev/js/api/browser-pool/interface/CreateLaunchContextOptions.md) - [FingerprintGenerator](https://crawlee.dev/js/api/browser-pool/interface/FingerprintGenerator.md) - [FingerprintGeneratorOptions](https://crawlee.dev/js/api/browser-pool/interface/FingerprintGeneratorOptions.md) - [FingerprintOptions](https://crawlee.dev/js/api/browser-pool/interface/FingerprintOptions.md) - [GetFingerprintReturn](https://crawlee.dev/js/api/browser-pool/interface/GetFingerprintReturn.md) - [LaunchContextOptions ](https://crawlee.dev/js/api/browser-pool/interface/LaunchContextOptions.md) - [@crawlee/cheerio](https://crawlee.dev/js/api/cheerio-crawler.md) - [Changelog](https://crawlee.dev/js/api/cheerio-crawler/changelog.md) - [CheerioCrawler](https://crawlee.dev/js/api/cheerio-crawler/class/CheerioCrawler.md) - [createCheerioRouter](https://crawlee.dev/js/api/cheerio-crawler/function/createCheerioRouter.md) - [CheerioCrawlerOptions ](https://crawlee.dev/js/api/cheerio-crawler/interface/CheerioCrawlerOptions.md) - [CheerioCrawlingContext ](https://crawlee.dev/js/api/cheerio-crawler/interface/CheerioCrawlingContext.md) - [@crawlee/core](https://crawlee.dev/js/api/core.md) - [Changelog](https://crawlee.dev/js/api/core/changelog.md) - [AutoscaledPool](https://crawlee.dev/js/api/core/class/AutoscaledPool.md) - [Configuration](https://crawlee.dev/js/api/core/class/Configuration.md) - [CriticalError](https://crawlee.dev/js/api/core/class/CriticalError.md) - [Dataset ](https://crawlee.dev/js/api/core/class/Dataset.md) - [ErrorSnapshotter](https://crawlee.dev/js/api/core/class/ErrorSnapshotter.md) - [ErrorTracker](https://crawlee.dev/js/api/core/class/ErrorTracker.md) - [abstractEventManager](https://crawlee.dev/js/api/core/class/EventManager.md) - [GotScrapingHttpClient](https://crawlee.dev/js/api/core/class/GotScrapingHttpClient.md) - [KeyValueStore](https://crawlee.dev/js/api/core/class/KeyValueStore.md) - [LocalEventManager](https://crawlee.dev/js/api/core/class/LocalEventManager.md) - [externalLog](https://crawlee.dev/js/api/core/class/Log.md) - [externalLogger](https://crawlee.dev/js/api/core/class/Logger.md) - [externalLoggerJson](https://crawlee.dev/js/api/core/class/LoggerJson.md) - [externalLoggerText](https://crawlee.dev/js/api/core/class/LoggerText.md) - [NonRetryableError](https://crawlee.dev/js/api/core/class/NonRetryableError.md) - [ProxyConfiguration](https://crawlee.dev/js/api/core/class/ProxyConfiguration.md) - [externalPseudoUrl](https://crawlee.dev/js/api/core/class/PseudoUrl.md) - [RecoverableState ](https://crawlee.dev/js/api/core/class/RecoverableState.md) - [Request ](https://crawlee.dev/js/api/core/class/Request.md) - [RequestHandlerResult](https://crawlee.dev/js/api/core/class/RequestHandlerResult.md) - [RequestList](https://crawlee.dev/js/api/core/class/RequestList.md) - [RequestManagerTandem](https://crawlee.dev/js/api/core/class/RequestManagerTandem.md) - [abstractRequestProvider](https://crawlee.dev/js/api/core/class/RequestProvider.md) - [RequestQueue](https://crawlee.dev/js/api/core/class/RequestQueue.md) - [RequestQueueV1](https://crawlee.dev/js/api/core/class/RequestQueueV1.md) - [RetryRequestError](https://crawlee.dev/js/api/core/class/RetryRequestError.md) - [Router ](https://crawlee.dev/js/api/core/class/Router.md) - [Session](https://crawlee.dev/js/api/core/class/Session.md) - [SessionError](https://crawlee.dev/js/api/core/class/SessionError.md) - [SessionPool](https://crawlee.dev/js/api/core/class/SessionPool.md) - [SitemapRequestList](https://crawlee.dev/js/api/core/class/SitemapRequestList.md) - [Snapshotter](https://crawlee.dev/js/api/core/class/Snapshotter.md) - [Statistics](https://crawlee.dev/js/api/core/class/Statistics.md) - [SystemStatus](https://crawlee.dev/js/api/core/class/SystemStatus.md) - [EnqueueStrategy](https://crawlee.dev/js/api/core/enum/EnqueueStrategy.md) - [constEventType](https://crawlee.dev/js/api/core/enum/EventType.md) - [externalLogLevel](https://crawlee.dev/js/api/core/enum/LogLevel.md) - [RequestState](https://crawlee.dev/js/api/core/enum/RequestState.md) - [checkStorageAccess](https://crawlee.dev/js/api/core/function/checkStorageAccess.md) - [enqueueLinks](https://crawlee.dev/js/api/core/function/enqueueLinks.md) - [filterRequestsByPatterns](https://crawlee.dev/js/api/core/function/filterRequestsByPatterns.md) - [processHttpRequestOptions](https://crawlee.dev/js/api/core/function/processHttpRequestOptions.md) - [purgeDefaultStorages](https://crawlee.dev/js/api/core/function/purgeDefaultStorages.md) - [tryAbsoluteURL](https://crawlee.dev/js/api/core/function/tryAbsoluteURL.md) - [useState](https://crawlee.dev/js/api/core/function/useState.md) - [withCheckedStorageAccess](https://crawlee.dev/js/api/core/function/withCheckedStorageAccess.md) - [AddRequestsBatchedOptions](https://crawlee.dev/js/api/core/interface/AddRequestsBatchedOptions.md) - [AddRequestsBatchedResult](https://crawlee.dev/js/api/core/interface/AddRequestsBatchedResult.md) - [AutoscaledPoolOptions](https://crawlee.dev/js/api/core/interface/AutoscaledPoolOptions.md) - [BaseHttpClient](https://crawlee.dev/js/api/core/interface/BaseHttpClient.md) - [BaseHttpResponseData](https://crawlee.dev/js/api/core/interface/BaseHttpResponseData.md) - [ClientInfo](https://crawlee.dev/js/api/core/interface/ClientInfo.md) - [ConfigurationOptions](https://crawlee.dev/js/api/core/interface/ConfigurationOptions.md) - [Cookie](https://crawlee.dev/js/api/core/interface/Cookie.md) - [CrawlingContext ](https://crawlee.dev/js/api/core/interface/CrawlingContext.md) - [CreateSession](https://crawlee.dev/js/api/core/interface/CreateSession.md) - [DatasetConsumer ](https://crawlee.dev/js/api/core/interface/DatasetConsumer.md) - [DatasetContent ](https://crawlee.dev/js/api/core/interface/DatasetContent.md) - [DatasetDataOptions](https://crawlee.dev/js/api/core/interface/DatasetDataOptions.md) - [DatasetExportOptions](https://crawlee.dev/js/api/core/interface/DatasetExportOptions.md) - [DatasetExportToOptions](https://crawlee.dev/js/api/core/interface/DatasetExportToOptions.md) - [DatasetIteratorOptions](https://crawlee.dev/js/api/core/interface/DatasetIteratorOptions.md) - [DatasetMapper ](https://crawlee.dev/js/api/core/interface/DatasetMapper.md) - [DatasetOptions](https://crawlee.dev/js/api/core/interface/DatasetOptions.md) - [DatasetReducer ](https://crawlee.dev/js/api/core/interface/DatasetReducer.md) - [EnqueueLinksOptions](https://crawlee.dev/js/api/core/interface/EnqueueLinksOptions.md) - [ErrnoException](https://crawlee.dev/js/api/core/interface/ErrnoException.md) - [ErrorTrackerOptions](https://crawlee.dev/js/api/core/interface/ErrorTrackerOptions.md) - [FinalStatistics](https://crawlee.dev/js/api/core/interface/FinalStatistics.md) - [HttpRequest ](https://crawlee.dev/js/api/core/interface/HttpRequest.md) - [HttpRequestOptions ](https://crawlee.dev/js/api/core/interface/HttpRequestOptions.md) - [HttpResponse ](https://crawlee.dev/js/api/core/interface/HttpResponse.md) - [IRequestList](https://crawlee.dev/js/api/core/interface/IRequestList.md) - [IRequestManager](https://crawlee.dev/js/api/core/interface/IRequestManager.md) - [IStorage](https://crawlee.dev/js/api/core/interface/IStorage.md) - [KeyConsumer](https://crawlee.dev/js/api/core/interface/KeyConsumer.md) - [KeyValueStoreIteratorOptions](https://crawlee.dev/js/api/core/interface/KeyValueStoreIteratorOptions.md) - [KeyValueStoreOptions](https://crawlee.dev/js/api/core/interface/KeyValueStoreOptions.md) - [externalLoggerOptions](https://crawlee.dev/js/api/core/interface/LoggerOptions.md) - [PersistenceOptions](https://crawlee.dev/js/api/core/interface/PersistenceOptions.md) - [ProxyConfigurationFunction](https://crawlee.dev/js/api/core/interface/ProxyConfigurationFunction.md) - [ProxyConfigurationOptions](https://crawlee.dev/js/api/core/interface/ProxyConfigurationOptions.md) - [ProxyInfo](https://crawlee.dev/js/api/core/interface/ProxyInfo.md) - [PushErrorMessageOptions](https://crawlee.dev/js/api/core/interface/PushErrorMessageOptions.md) - [QueueOperationInfo](https://crawlee.dev/js/api/core/interface/QueueOperationInfo.md) - [RecordOptions](https://crawlee.dev/js/api/core/interface/RecordOptions.md) - [RecoverableStateOptions ](https://crawlee.dev/js/api/core/interface/RecoverableStateOptions.md) - [RecoverableStatePersistenceOptions](https://crawlee.dev/js/api/core/interface/RecoverableStatePersistenceOptions.md) - [RequestListOptions](https://crawlee.dev/js/api/core/interface/RequestListOptions.md) - [RequestListState](https://crawlee.dev/js/api/core/interface/RequestListState.md) - [RequestOptions ](https://crawlee.dev/js/api/core/interface/RequestOptions.md) - [RequestProviderOptions](https://crawlee.dev/js/api/core/interface/RequestProviderOptions.md) - [RequestQueueOperationOptions](https://crawlee.dev/js/api/core/interface/RequestQueueOperationOptions.md) - [RequestQueueOptions](https://crawlee.dev/js/api/core/interface/RequestQueueOptions.md) - [RequestTransform](https://crawlee.dev/js/api/core/interface/RequestTransform.md) - [ResponseLike](https://crawlee.dev/js/api/core/interface/ResponseLike.md) - [ResponseTypes](https://crawlee.dev/js/api/core/interface/ResponseTypes.md) - [RestrictedCrawlingContext ](https://crawlee.dev/js/api/core/interface/RestrictedCrawlingContext.md) - [RouterHandler ](https://crawlee.dev/js/api/core/interface/RouterHandler.md) - [SessionOptions](https://crawlee.dev/js/api/core/interface/SessionOptions.md) - [SessionPoolOptions](https://crawlee.dev/js/api/core/interface/SessionPoolOptions.md) - [SessionState](https://crawlee.dev/js/api/core/interface/SessionState.md) - [SitemapRequestListOptions](https://crawlee.dev/js/api/core/interface/SitemapRequestListOptions.md) - [SnapshotResult](https://crawlee.dev/js/api/core/interface/SnapshotResult.md) - [SnapshotterOptions](https://crawlee.dev/js/api/core/interface/SnapshotterOptions.md) - [StatisticPersistedState](https://crawlee.dev/js/api/core/interface/StatisticPersistedState.md) - [StatisticsOptions](https://crawlee.dev/js/api/core/interface/StatisticsOptions.md) - [StatisticState](https://crawlee.dev/js/api/core/interface/StatisticState.md) - [StorageClient](https://crawlee.dev/js/api/core/interface/StorageClient.md) - [StorageManagerOptions](https://crawlee.dev/js/api/core/interface/StorageManagerOptions.md) - [StreamingHttpResponse](https://crawlee.dev/js/api/core/interface/StreamingHttpResponse.md) - [SystemInfo](https://crawlee.dev/js/api/core/interface/SystemInfo.md) - [SystemStatusOptions](https://crawlee.dev/js/api/core/interface/SystemStatusOptions.md) - [TieredProxy](https://crawlee.dev/js/api/core/interface/TieredProxy.md) - [UseStateOptions](https://crawlee.dev/js/api/core/interface/UseStateOptions.md) - [@crawlee/http](https://crawlee.dev/js/api/http-crawler.md) - [Changelog](https://crawlee.dev/js/api/http-crawler/changelog.md) - [FileDownload](https://crawlee.dev/js/api/http-crawler/class/FileDownload.md) - [HttpCrawler ](https://crawlee.dev/js/api/http-crawler/class/HttpCrawler.md) - [ByteCounterStream](https://crawlee.dev/js/api/http-crawler/function/ByteCounterStream.md) - [createFileRouter](https://crawlee.dev/js/api/http-crawler/function/createFileRouter.md) - [createHttpRouter](https://crawlee.dev/js/api/http-crawler/function/createHttpRouter.md) - [MinimumSpeedStream](https://crawlee.dev/js/api/http-crawler/function/MinimumSpeedStream.md) - [FileDownloadCrawlingContext ](https://crawlee.dev/js/api/http-crawler/interface/FileDownloadCrawlingContext.md) - [HttpCrawlerOptions ](https://crawlee.dev/js/api/http-crawler/interface/HttpCrawlerOptions.md) - [HttpCrawlingContext ](https://crawlee.dev/js/api/http-crawler/interface/HttpCrawlingContext.md) - [@crawlee/jsdom](https://crawlee.dev/js/api/jsdom-crawler.md) - [Changelog](https://crawlee.dev/js/api/jsdom-crawler/changelog.md) - [JSDOMCrawler](https://crawlee.dev/js/api/jsdom-crawler/class/JSDOMCrawler.md) - [createJSDOMRouter](https://crawlee.dev/js/api/jsdom-crawler/function/createJSDOMRouter.md) - [JSDOMCrawlerOptions ](https://crawlee.dev/js/api/jsdom-crawler/interface/JSDOMCrawlerOptions.md) - [JSDOMCrawlingContext ](https://crawlee.dev/js/api/jsdom-crawler/interface/JSDOMCrawlingContext.md) - [@crawlee/linkedom](https://crawlee.dev/js/api/linkedom-crawler.md) - [Changelog](https://crawlee.dev/js/api/linkedom-crawler/changelog.md) - [LinkeDOMCrawler](https://crawlee.dev/js/api/linkedom-crawler/class/LinkeDOMCrawler.md) - [createLinkeDOMRouter](https://crawlee.dev/js/api/linkedom-crawler/function/createLinkeDOMRouter.md) - [LinkeDOMCrawlerEnqueueLinksOptions](https://crawlee.dev/js/api/linkedom-crawler/interface/LinkeDOMCrawlerEnqueueLinksOptions.md) - [LinkeDOMCrawlerOptions ](https://crawlee.dev/js/api/linkedom-crawler/interface/LinkeDOMCrawlerOptions.md) - [LinkeDOMCrawlingContext ](https://crawlee.dev/js/api/linkedom-crawler/interface/LinkeDOMCrawlingContext.md) - [@crawlee/memory-storage](https://crawlee.dev/js/api/memory-storage.md) - [Changelog](https://crawlee.dev/js/api/memory-storage/changelog.md) - [MemoryStorage](https://crawlee.dev/js/api/memory-storage/class/MemoryStorage.md) - [MemoryStorageOptions](https://crawlee.dev/js/api/memory-storage/interface/MemoryStorageOptions.md) - [@crawlee/playwright](https://crawlee.dev/js/api/playwright-crawler.md) - [Changelog](https://crawlee.dev/js/api/playwright-crawler/changelog.md) - [AdaptivePlaywrightCrawler](https://crawlee.dev/js/api/playwright-crawler/class/AdaptivePlaywrightCrawler.md) - [PlaywrightCrawler](https://crawlee.dev/js/api/playwright-crawler/class/PlaywrightCrawler.md) - [RenderingTypePredictor](https://crawlee.dev/js/api/playwright-crawler/class/RenderingTypePredictor.md) - [createAdaptivePlaywrightRouter](https://crawlee.dev/js/api/playwright-crawler/function/createAdaptivePlaywrightRouter.md) - [createPlaywrightRouter](https://crawlee.dev/js/api/playwright-crawler/function/createPlaywrightRouter.md) - [launchPlaywright](https://crawlee.dev/js/api/playwright-crawler/function/launchPlaywright.md) - [AdaptivePlaywrightCrawlerContext ](https://crawlee.dev/js/api/playwright-crawler/interface/AdaptivePlaywrightCrawlerContext.md) - [AdaptivePlaywrightCrawlerOptions](https://crawlee.dev/js/api/playwright-crawler/interface/AdaptivePlaywrightCrawlerOptions.md) - [PlaywrightCrawlerOptions](https://crawlee.dev/js/api/playwright-crawler/interface/PlaywrightCrawlerOptions.md) - [PlaywrightCrawlingContext ](https://crawlee.dev/js/api/playwright-crawler/interface/PlaywrightCrawlingContext.md) - [PlaywrightHook](https://crawlee.dev/js/api/playwright-crawler/interface/PlaywrightHook.md) - [PlaywrightLaunchContext](https://crawlee.dev/js/api/playwright-crawler/interface/PlaywrightLaunchContext.md) - [PlaywrightRequestHandler](https://crawlee.dev/js/api/playwright-crawler/interface/PlaywrightRequestHandler.md) - [playwrightClickElements](https://crawlee.dev/js/api/playwright-crawler/namespace/playwrightClickElements.md) - [playwrightUtils](https://crawlee.dev/js/api/playwright-crawler/namespace/playwrightUtils.md) - [@crawlee/puppeteer](https://crawlee.dev/js/api/puppeteer-crawler.md) - [Changelog](https://crawlee.dev/js/api/puppeteer-crawler/changelog.md) - [PuppeteerCrawler](https://crawlee.dev/js/api/puppeteer-crawler/class/PuppeteerCrawler.md) - [createPuppeteerRouter](https://crawlee.dev/js/api/puppeteer-crawler/function/createPuppeteerRouter.md) - [launchPuppeteer](https://crawlee.dev/js/api/puppeteer-crawler/function/launchPuppeteer.md) - [PuppeteerCrawlerOptions](https://crawlee.dev/js/api/puppeteer-crawler/interface/PuppeteerCrawlerOptions.md) - [PuppeteerCrawlingContext ](https://crawlee.dev/js/api/puppeteer-crawler/interface/PuppeteerCrawlingContext.md) - [PuppeteerHook](https://crawlee.dev/js/api/puppeteer-crawler/interface/PuppeteerHook.md) - [PuppeteerLaunchContext](https://crawlee.dev/js/api/puppeteer-crawler/interface/PuppeteerLaunchContext.md) - [PuppeteerRequestHandler](https://crawlee.dev/js/api/puppeteer-crawler/interface/PuppeteerRequestHandler.md) - [puppeteerClickElements](https://crawlee.dev/js/api/puppeteer-crawler/namespace/puppeteerClickElements.md) - [puppeteerRequestInterception](https://crawlee.dev/js/api/puppeteer-crawler/namespace/puppeteerRequestInterception.md) - [puppeteerUtils](https://crawlee.dev/js/api/puppeteer-crawler/namespace/puppeteerUtils.md) - [@crawlee/types](https://crawlee.dev/js/api/types.md) - [Changelog](https://crawlee.dev/js/api/types/changelog.md) - [BatchAddRequestsResult](https://crawlee.dev/js/api/types/interface/BatchAddRequestsResult.md) - [BrowserLikeResponse](https://crawlee.dev/js/api/types/interface/BrowserLikeResponse.md) - [Dataset](https://crawlee.dev/js/api/types/interface/Dataset.md) - [DatasetClient ](https://crawlee.dev/js/api/types/interface/DatasetClient.md) - [DatasetClientListOptions](https://crawlee.dev/js/api/types/interface/DatasetClientListOptions.md) - [DatasetClientUpdateOptions](https://crawlee.dev/js/api/types/interface/DatasetClientUpdateOptions.md) - [DatasetCollectionClient](https://crawlee.dev/js/api/types/interface/DatasetCollectionClient.md) - [DatasetCollectionClientOptions](https://crawlee.dev/js/api/types/interface/DatasetCollectionClientOptions.md) - [DatasetCollectionData](https://crawlee.dev/js/api/types/interface/DatasetCollectionData.md) - [DatasetInfo](https://crawlee.dev/js/api/types/interface/DatasetInfo.md) - [DatasetStats](https://crawlee.dev/js/api/types/interface/DatasetStats.md) - [DeleteRequestLockOptions](https://crawlee.dev/js/api/types/interface/DeleteRequestLockOptions.md) - [KeyValueStoreClient](https://crawlee.dev/js/api/types/interface/KeyValueStoreClient.md) - [KeyValueStoreClientGetRecordOptions](https://crawlee.dev/js/api/types/interface/KeyValueStoreClientGetRecordOptions.md) - [KeyValueStoreClientListData](https://crawlee.dev/js/api/types/interface/KeyValueStoreClientListData.md) - [KeyValueStoreClientListOptions](https://crawlee.dev/js/api/types/interface/KeyValueStoreClientListOptions.md) - [KeyValueStoreClientUpdateOptions](https://crawlee.dev/js/api/types/interface/KeyValueStoreClientUpdateOptions.md) - [KeyValueStoreCollectionClient](https://crawlee.dev/js/api/types/interface/KeyValueStoreCollectionClient.md) - [KeyValueStoreInfo](https://crawlee.dev/js/api/types/interface/KeyValueStoreInfo.md) - [KeyValueStoreItemData](https://crawlee.dev/js/api/types/interface/KeyValueStoreItemData.md) - [KeyValueStoreRecord](https://crawlee.dev/js/api/types/interface/KeyValueStoreRecord.md) - [KeyValueStoreRecordOptions](https://crawlee.dev/js/api/types/interface/KeyValueStoreRecordOptions.md) - [KeyValueStoreStats](https://crawlee.dev/js/api/types/interface/KeyValueStoreStats.md) - [ListAndLockHeadResult](https://crawlee.dev/js/api/types/interface/ListAndLockHeadResult.md) - [ListAndLockOptions](https://crawlee.dev/js/api/types/interface/ListAndLockOptions.md) - [ListOptions](https://crawlee.dev/js/api/types/interface/ListOptions.md) - [PaginatedList ](https://crawlee.dev/js/api/types/interface/PaginatedList.md) - [ProcessedRequest](https://crawlee.dev/js/api/types/interface/ProcessedRequest.md) - [ProlongRequestLockOptions](https://crawlee.dev/js/api/types/interface/ProlongRequestLockOptions.md) - [ProlongRequestLockResult](https://crawlee.dev/js/api/types/interface/ProlongRequestLockResult.md) - [QueueHead](https://crawlee.dev/js/api/types/interface/QueueHead.md) - [RequestOptions](https://crawlee.dev/js/api/types/interface/RequestOptions.md) - [RequestQueueClient](https://crawlee.dev/js/api/types/interface/RequestQueueClient.md) - [RequestQueueCollectionClient](https://crawlee.dev/js/api/types/interface/RequestQueueCollectionClient.md) - [RequestQueueHeadItem](https://crawlee.dev/js/api/types/interface/RequestQueueHeadItem.md) - [RequestQueueInfo](https://crawlee.dev/js/api/types/interface/RequestQueueInfo.md) - [RequestQueueOptions](https://crawlee.dev/js/api/types/interface/RequestQueueOptions.md) - [RequestQueueStats](https://crawlee.dev/js/api/types/interface/RequestQueueStats.md) - [RequestSchema](https://crawlee.dev/js/api/types/interface/RequestSchema.md) - [SetStatusMessageOptions](https://crawlee.dev/js/api/types/interface/SetStatusMessageOptions.md) - [UnprocessedRequest](https://crawlee.dev/js/api/types/interface/UnprocessedRequest.md) - [UpdateRequestSchema](https://crawlee.dev/js/api/types/interface/UpdateRequestSchema.md) - [@crawlee/utils](https://crawlee.dev/js/api/utils.md) - [Changelog](https://crawlee.dev/js/api/utils/changelog.md) - [RobotsTxtFile](https://crawlee.dev/js/api/utils/class/RobotsTxtFile.md) - [Sitemap](https://crawlee.dev/js/api/utils/class/Sitemap.md) - [chunk](https://crawlee.dev/js/api/utils/function/chunk.md) - [createRequestDebugInfo](https://crawlee.dev/js/api/utils/function/createRequestDebugInfo.md) - [downloadListOfUrls](https://crawlee.dev/js/api/utils/function/downloadListOfUrls.md) - [extractUrls](https://crawlee.dev/js/api/utils/function/extractUrls.md) - [extractUrlsFromCheerio](https://crawlee.dev/js/api/utils/function/extractUrlsFromCheerio.md) - [getCgroupsVersion](https://crawlee.dev/js/api/utils/function/getCgroupsVersion.md) - [getMemoryInfo](https://crawlee.dev/js/api/utils/function/getMemoryInfo.md) - [getObjectType](https://crawlee.dev/js/api/utils/function/getObjectType.md) - [gotScraping](https://crawlee.dev/js/api/utils/function/gotScraping.md) - [htmlToText](https://crawlee.dev/js/api/utils/function/htmlToText.md) - [isContainerized](https://crawlee.dev/js/api/utils/function/isContainerized.md) - [isDocker](https://crawlee.dev/js/api/utils/function/isDocker.md) - [isLambda](https://crawlee.dev/js/api/utils/function/isLambda.md) - [parseOpenGraph](https://crawlee.dev/js/api/utils/function/parseOpenGraph.md) - [parseSitemap](https://crawlee.dev/js/api/utils/function/parseSitemap.md) - [sleep](https://crawlee.dev/js/api/utils/function/sleep.md) - [DownloadListOfUrlsOptions](https://crawlee.dev/js/api/utils/interface/DownloadListOfUrlsOptions.md) - [ExtractUrlsOptions](https://crawlee.dev/js/api/utils/interface/ExtractUrlsOptions.md) - [MemoryInfo](https://crawlee.dev/js/api/utils/interface/MemoryInfo.md) - [OpenGraphProperty](https://crawlee.dev/js/api/utils/interface/OpenGraphProperty.md) - [ParseSitemapOptions](https://crawlee.dev/js/api/utils/interface/ParseSitemapOptions.md) - [social](https://crawlee.dev/js/api/utils/namespace/social.md) - [Deployment guides](https://crawlee.dev/js/docs/deployment.md) - [Apify Platform](https://crawlee.dev/js/docs/deployment/apify-platform.md) - [Browsers on AWS Lambda](https://crawlee.dev/js/docs/deployment/aws-browsers.md) - [Cheerio on AWS Lambda](https://crawlee.dev/js/docs/deployment/aws-cheerio.md) - [Browsers in GCP Cloud Run](https://crawlee.dev/js/docs/deployment/gcp-browsers.md) - [Cheerio on GCP Cloud Functions](https://crawlee.dev/js/docs/deployment/gcp-cheerio.md) - [Examples](https://crawlee.dev/js/docs/examples.md) - [Accept user input](https://crawlee.dev/js/docs/examples/accept-user-input.md) - [Add data to dataset](https://crawlee.dev/js/docs/examples/add-data-to-dataset.md) - [Basic crawler](https://crawlee.dev/js/docs/examples/basic-crawler.md) - [Capture a screenshot using Puppeteer](https://crawlee.dev/js/docs/examples/capture-screenshot.md) - [Cheerio crawler](https://crawlee.dev/js/docs/examples/cheerio-crawler.md) - [Crawl all links on a website](https://crawlee.dev/js/docs/examples/crawl-all-links.md) - [Crawl multiple URLs](https://crawlee.dev/js/docs/examples/crawl-multiple-urls.md) - [Crawl a website with relative links](https://crawlee.dev/js/docs/examples/crawl-relative-links.md) - [Crawl a single URL](https://crawlee.dev/js/docs/examples/crawl-single-url.md) - [Crawl a sitemap](https://crawlee.dev/js/docs/examples/crawl-sitemap.md) - [Crawl some links on a website](https://crawlee.dev/js/docs/examples/crawl-some-links.md) - [Using Puppeteer Stealth Plugin (puppeteer-extra) and playwright-extra](https://crawlee.dev/js/docs/examples/crawler-plugins.md) - [Export entire dataset to one file](https://crawlee.dev/js/docs/examples/export-entire-dataset.md) - [Download a file](https://crawlee.dev/js/docs/examples/file-download.md) - [Download a file with Node.js streams](https://crawlee.dev/js/docs/examples/file-download-stream.md) - [Fill and Submit a Form using Puppeteer](https://crawlee.dev/js/docs/examples/forms.md) - [HTTP crawler](https://crawlee.dev/js/docs/examples/http-crawler.md) - [JSDOM crawler](https://crawlee.dev/js/docs/examples/jsdom-crawler.md) - [Dataset Map and Reduce methods](https://crawlee.dev/js/docs/examples/map-and-reduce.md) - [Playwright crawler](https://crawlee.dev/js/docs/examples/playwright-crawler.md) - [Using Firefox browser with Playwright crawler](https://crawlee.dev/js/docs/examples/playwright-crawler-firefox.md) - [Puppeteer crawler](https://crawlee.dev/js/docs/examples/puppeteer-crawler.md) - [Puppeteer recursive crawl](https://crawlee.dev/js/docs/examples/puppeteer-recursive-crawl.md) - [Skipping navigations for certain requests](https://crawlee.dev/js/docs/examples/skip-navigation.md) - [Experiments](https://crawlee.dev/js/docs/experiments.md) - [Request Locking](https://crawlee.dev/js/docs/experiments/experiments-request-locking.md) - [System Infomation V2](https://crawlee.dev/js/docs/experiments/experiments-system-infomation-v2.md) - [Guides](https://crawlee.dev/js/docs/guides.md) - [Avoid getting blocked](https://crawlee.dev/js/docs/guides/avoid-blocking.md) - [CheerioCrawler guide](https://crawlee.dev/js/docs/guides/cheerio-crawler-guide.md) - [Configuration](https://crawlee.dev/js/docs/guides/configuration.md) - [Using a custom HTTP client (Experimental)](https://crawlee.dev/js/docs/guides/custom-http-client.md) - [Running in Docker](https://crawlee.dev/js/docs/guides/docker-images.md) - [Got Scraping](https://crawlee.dev/js/docs/guides/got-scraping.md) - [Impit HTTP Client](https://crawlee.dev/js/docs/guides/impit-http-client.md) - [JavaScript rendering](https://crawlee.dev/js/docs/guides/javascript-rendering.md) - [JSDOMCrawler guide](https://crawlee.dev/js/docs/guides/jsdom-crawler-guide.md) - [motivation](https://crawlee.dev/js/docs/guides/motivation.md) - [Parallel Scraping Guide](https://crawlee.dev/js/docs/guides/parallel-scraping.md) - [Proxy Management](https://crawlee.dev/js/docs/guides/proxy-management.md) - [Request Storage](https://crawlee.dev/js/docs/guides/request-storage.md) - [Result Storage](https://crawlee.dev/js/docs/guides/result-storage.md) - [Running in web server](https://crawlee.dev/js/docs/guides/running-in-web-server.md) - [Scaling our crawlers](https://crawlee.dev/js/docs/guides/scaling-crawlers.md) - [Session Management](https://crawlee.dev/js/docs/guides/session-management.md) - [TypeScript Projects](https://crawlee.dev/js/docs/guides/typescript-project.md) - [Introduction](https://crawlee.dev/js/docs/introduction.md) - [Adding more URLs](https://crawlee.dev/js/docs/introduction/adding-urls.md) - [Crawling the Store](https://crawlee.dev/js/docs/introduction/crawling.md) - [Running your crawler in the Cloud](https://crawlee.dev/js/docs/introduction/deployment.md) - [First crawler](https://crawlee.dev/js/docs/introduction/first-crawler.md) - [Getting some real-world data](https://crawlee.dev/js/docs/introduction/real-world-project.md) - [Refactoring](https://crawlee.dev/js/docs/introduction/refactoring.md) - [Saving data](https://crawlee.dev/js/docs/introduction/saving-data.md) - [Scraping the Store](https://crawlee.dev/js/docs/introduction/scraping.md) - [Setting up](https://crawlee.dev/js/docs/introduction/setting-up.md) - [Quick Start](https://crawlee.dev/js/docs/quick-start.md) - [Upgrading](https://crawlee.dev/js/docs/upgrading.md) - [Upgrading to v1](https://crawlee.dev/js/docs/upgrading/upgrading-to-v1.md) - [Upgrading to v2](https://crawlee.dev/js/docs/upgrading/upgrading-to-v2.md) - [Upgrading to v3](https://crawlee.dev/js/docs/upgrading/upgrading-to-v3.md) ## search - [Search the documentation](https://crawlee.dev/search.md) ## Optional - [Crawlee for Python llms.txt](https://crawlee.dev/python/llms.txt) - [Crawlee for Python llms-full.txt](https://crawlee.dev/python/llms-full.txt)