The web, for
your agents.

Oassis provides web scraping, crawling, browser automation and research through one API and an MCP server for AI agents.

Web Tools for each step.

Web Tasks for background jobs and research.

Agents that watch pages on a schedule.

Try MCP with 100 credits. Sign up for 1,000 welcome credits and create your API key.

Web Tools

Synchronous. Each request returns its result in the same response.

MCP toolHTTP routeWhat it does
web_scrapePOST /web/v1/scrapeRead a page or document in the requested formats.
web_mapPOST /web/v1/mapList a site's URLs from its sitemap and optionally the page.
web_search_exaPOST /web/v1/searchSearch the web.
web_session_openPOST /web/v1/sessionOpen a browser session and inspect its controls.
web_actPOST /web/v1/actInteract with an open browser session.
web_session_closePOST /web/v1/session/{id}/closeClose the browser session and settle any outstanding time.
web_feedbackPOST /web/v1/feedbackReport whether a result was correct. Free.

Explore the web scraping API, web crawling API and browser automation API. Start with the API documentation or try Scrape and Map.

Try Scrape & Map

Try a URL. No API key or account needed. Includes 100 trial credits shared between Scrape and Map.

Web Scrape

Read a page in the format you need.

Request preview

Enter a URL and run a test.

Web Map

Discover a site's URLs from its sitemap and page links.

Request preview

Enter a URL and run a test.

Web Tasks

Asynchronous. Creating a job returns an id; follow that id for progress and results. Research is a task too.

MCP toolHTTP routeWhat it does
web_scrape_batchPOST /tasks/v1/scrape/batchStart a batch extraction job from a supplied list of URLs.
web_batch_statusGET /tasks/v1/scrape/batch/{id}Read batch status and collect its results.
web_batch_statusPOST /tasks/v1/scrape/batch/{id}/cancelCancel pending batch work. With MCP, send cancel: true.
web_crawlPOST /tasks/v1/crawlStart a crawl job that discovers and reads linked pages.
web_crawl_statusGET /tasks/v1/crawl/{id}Read crawl status and collect its results.
web_crawl_statusPOST /tasks/v1/crawl/{id}/cancelCancel pending crawl work. With MCP, send cancel: true.
web_task_startPOST /tasks/v1/researchStart research from public pages and return an answer with sources.
web_task_statusGET /tasks/v1/research/{id}Read research progress, sources, result and billing.
web_task_cancelPOST /tasks/v1/research/{id}/cancelCancel pending research work.

Read the Web Tasks guide for batch extraction, crawling and research.

Agents

Scheduled agents that watch pages for you and report what changed. Free, with a free account key.

MCP toolHTTP routeWhat it does
-GET /agents/v1/price-watchPrice watch: reads product pages on your schedule and reports price changes and drops.
-GET /agents/v1/web-watchWeb change watch: reports what was added or removed on a page, optionally filtered by keyword.
-GET /agents/v1/competitor-monitorCompetitor monitor: watches a competitor's pricing, blog and changelog and reports what changed.

Explore scheduled Agents: Price Watch, Web Watch and Competitor Monitor.

Managing agents

MCP toolHTTP routeWhat it does
-GET /agents/v1List the scheduled agents and how to create them.
-POST /agents/v1/:agentCreate a scheduled agent from its name. Needs a free account key.
-GET /agents/v1/servicesList your agent services. Needs an account key.
-GET /agents/v1/services/:idRead one service: its state and its last report.
-POST /agents/v1/services/:id/cancelCancel a service. Its last report is kept.

Pricing

Status, cancellation and account are free. A trial of 100 credits covers scrape and map over MCP. Everything else needs an API key with credits, or an x402 payment over HTTP.

1 credit = $0.002. Credits come in three packs: $5 for 2,500 credits, $20 for 10,000 credits, $50 for 25,000 credits. Purchased credits do not expire.

OperationFree?Credits, with an API keyOver HTTP, x402
Read a page or a document, one outputTrial over MCP1$0.002
Read a page as JSONTrial over MCP2.5$0.005
Read from the cacheNo0.1$0.0002
List a site's urls (sitemap)Trial over MCP1$0.002
List a site's urls, including the pageTrial over MCP1.5$0.003
Search the webNo3.5about $0.007 (provider price)
Open a browser sessionNo2.5$0.005
Act on an open session, per actionNo0.25$0.0005
Each extra minute of browser timeNo2$0.004
Batch: per url readNo1$0.002
Crawl: per page readNo2$0.004
Research task, fixed budget (default)No50$0.1
Research task, smallest and largest budgetNo15 to 500$0.03 to $1
Status, cancellation, feedback, closing a session, accountFree0Free
Scheduled agentsFree with a free account key--

Prices are quoted per call before any work happens. A research task reserves its budget and charges what it actually used; with HTTP/x402, the budget is charged as a fixed package. HTTP with an API key uses the same reserve and actual-cost settlement as MCP.

Frequently asked questions

Choose the right endpoint for extraction, browser automation, research and scheduled monitoring.

What is Oassis and what can an AI agent do with it?

Oassis is web infrastructure for AI agents. Its API can extract page content and documents, discover site URLs, search the web, interact with a browser, run batch extraction and crawling, produce research with sources, and monitor pages on a schedule. The production API base URL is https://api.oassis.dev. Web Tools use /web/v1, Web Tasks use /tasks/v1, and scheduled Agents use /agents/v1.

Which Oassis API should I use: Web Tools, Web Tasks or Agents?

Use Web Tools for one synchronous operation, such as reading a URL or clicking a button. Use Web Tasks for an asynchronous batch, crawl or research job: start it, keep its job ID, then request status and results. Use Agents for recurring price, page-change or competitor monitoring. A map discovers URLs; a crawl discovers and reads pages; research answers a question using sources.

How do I scrape a web page or document with Oassis?

Call POST /web/v1/scrape or the MCP tool web_scrape with a url and formats, for example {"url":"https://oassis.dev","formats":["markdown"]}. One request returns the requested outputs. You can also supply html instead of a URL. GET /web/v1/scrape describes the operation without executing it or charging for it. See /web-scraping-api for examples.

Which output formats and extraction parameters does Web Scrape support?

Web Scrape supports markdown, html, links, elements, controls, accessibility, screenshot, pdf and json. Use selectors with the elements format; use json.prompt or json.schema with the json format. Other options include waiting for a CSS selector, viewport settings, request headers and cookies, screenshot and PDF options, and maxAge for cached content. Use the OpenAPI reference for each format's exact schema. Document conversion and browser-rendered pages have different format constraints.

How can I find the URLs on a website without crawling every page?

Call POST /web/v1/map or web_map with a url. Map discovers URLs from sitemaps and can also inspect links on the rendered page. Set includePage to false for sitemap-only discovery. Set limit to cap results, search to keep URLs containing text, includeSubdomains to include subdomains, and includePaths or excludePaths to filter paths. The limit accepts 1 to 5,000 URLs. GET /web/v1/map describes the inputs. Map returns URLs rather than page content.

How can I search the web with Oassis?

Call POST /web/v1/search or web_search_exa to search the web through Exa. GET /web/v1/search describes the current search parameters and conditions. Search requires payment through account credits or HTTP x402; it is not included in the keyless Scrape and Map trial. Use Scrape to read a result page after finding its URL.

How do I open a persistent browser session for an AI agent?

Call POST /web/v1/session or web_session_open with a url. The response provides a session ID and the requested page outputs; controls are the default format. Keep the session ID for later actions and close the session after finishing. GET /web/v1/session describes the parameters. See /browser-api for the complete session workflow.

How can an agent click, type, select or wait on a page?

Call POST /web/v1/act or web_act with the session ID from Web Session Open and the actions to perform. Actions include navigation, clicking, typing, selecting, pressing keys, scrolling, waiting, going back and going forward. Use the control references returned by the browser to target elements. GET /web/v1/act describes the action schema. Actions operate on an existing browser session.

How do I close a browser session and stop further browser time?

Call POST /web/v1/session/{id}/close or web_session_close with the session ID. Closing ends the browser session and settles any outstanding browser time. There is no separate closing fee, but pending browser time may still be charged. The API also closes an idle session automatically; close explicitly when your workflow finishes.

How can I report an incorrect extraction or tool result?

Call POST /web/v1/feedback or web_feedback to report whether a result was correct. Feedback is free. GET /web/v1/feedback describes the accepted feedback fields. Include the information requested by that schema so the report can be associated with the relevant result.

How do I scrape a list of known URLs in one background job?

Start a batch with POST /tasks/v1/scrape/batch or web_scrape_batch, supplying the URL list and supported output options. Save the returned jobId. Read progress and results with GET /tasks/v1/scrape/batch/{id} or web_batch_status. Stop pending work with POST /tasks/v1/scrape/batch/{id}/cancel; in MCP, call web_batch_status with cancel: true. GET /tasks/v1/scrape/batch describes the start parameters.

How do I crawl a website and collect the content of linked pages?

Start a crawl with POST /tasks/v1/crawl or web_crawl. Supply the starting URL and set the page limit and path filters to define the scope. Read progress and collected results with GET /tasks/v1/crawl/{id} or web_crawl_status. Cancel pending work with POST /tasks/v1/crawl/{id}/cancel; in MCP, call web_crawl_status with cancel: true. GET /tasks/v1/crawl describes the start parameters. See /web-crawling-api for the difference between Map and Crawl.

How can I ask Oassis to research a question and return sources?

Start research with POST /tasks/v1/research or web_task_start. The task runs asynchronously and returns a job ID. Read progress, sources, the result and billing with GET /tasks/v1/research/{id} or web_task_status. Stop pending research with POST /tasks/v1/research/{id}/cancel or web_task_cancel. GET /tasks/v1/research describes the research route and its pricing. The /task-api guide explains research requests, budgets and lifecycle.

Do status checks and cancellation start or charge for another task?

No. Status and cancellation endpoints operate on an existing job ID and are free. They require proof that you own the job: use the owning account API key, or the access_token returned for an HTTP x402 task, sent in the Task-Token header for research. Cancelling stops pending work; work already completed or in progress may still incur charges. Keep the original job ID and access credentials.

Which scheduled monitoring agents are available?

GET /agents/v1 lists the scheduled agents. Price Watch monitors product prices, Web Watch reports page changes and optional keyword matches, and Competitor Monitor watches a competitor's selected pages. Services run daily or weekly. Scheduled Agents currently require a free account API key and allow up to 10 active services per account. They are HTTP services, not MCP tools.

How do I create a Price Watch, Web Watch or Competitor Monitor service?

Read GET /agents/v1/price-watch, GET /agents/v1/web-watch or GET /agents/v1/competitor-monitor for each agent's parameters. Create the service by sending POST to the same path with your account API key. Price Watch reads product URLs; Web Watch watches page content; Competitor Monitor watches selected paths on a domain. The first run is queued for a scheduler tick and is not an immediate synchronous result.

How do I list monitoring services, read their reports or cancel them?

Use GET /agents/v1/services to list your services and GET /agents/v1/services/{id} to read one service, its state and its latest report. Use POST /agents/v1/services/{id}/cancel to stop future scheduled runs. These endpoints require the owning account API key. Cancellation retains the latest report, and a read already in progress may finish.

Can I try Web Scrape and Web Map without an API key?

Yes. The homepage includes separate Web Scrape and Web Map demos with https://oassis.dev prefilled. They call the same MCP tools and share the existing one-time 100-credit keyless trial, identified by the caller's network address. The demo needs no account or API key. Other paid tools and continued usage after the trial need account credits or supported HTTP x402 payment.

How do I connect an MCP client to Oassis?

Use https://api.oassis.dev/mcp as the MCP server URL. POST /mcp accepts the JSON-RPC initialization handshake, tools/list for tool discovery and tools/call for execution. Keyless access covers the Scrape and Map trial. Configure Authorization: Bearer YOUR_API_KEY to use shared account credits for other tools and continued usage. GET /mcp provides discovery information; GET /.well-known/mcp/server.json provides the server manifest. See /mcp for setup examples.

How do HTTP API keys, credits and x402 payments work?

Send Authorization: Bearer YOUR_API_KEY with an HTTP API request to use account credits. Alternatively, supported paid HTTP operations accept x402: the first unpaid request returns an HTTP 402 payment challenge, then a compatible client pays in USDC on Base and retries. GET describes an operation without running or charging for it; POST executes it. Discovery, task status and cancellation are not purchases of a new execution. See /x402 and /docs for examples.

How much do Web Scrape, Map, browser actions and background tasks cost?

One credit equals $0.002. A standard page output costs 1 credit; JSON extraction costs 2.5 credits, and a cached output costs 0.1 credit. Sitemap-only Map costs 1 credit, or 1.5 credits when the page is included. Opening a browser session costs 2.5 credits plus requested formats; actions cost 0.25 credit each plus outputs and any outstanding browser time. Batch extraction starts at 1 credit per URL and crawling at 2 credits per page. Research uses a budget. The pricing table on this page lists the current rates and settlement rules.

How do I check my available and reserved API credits?

Call GET /web/v1/account with your API key. It returns available and reserved credits and the recharge URL; checking the account is free. A verified account receives 1,000 welcome credits once. Purchased credits do not expire. Create keys and manage credits in /dashboard/billing. Use the same account key for HTTP and MCP to share the balance.

Where are the complete endpoint schemas and integration guides?

GET /openapi.json provides the machine-readable HTTP API reference. GET /llms.txt provides a text overview with documentation links. GET /mcp and GET /.well-known/mcp/server.json expose MCP discovery information. Human-readable guides are available at /docs, /web-scraping-api, /web-crawling-api, /browser-api, /task-api, /mcp, /x402 and /agents. GET /robots.txt and GET /sitemap.xml provide crawling instructions and the public site URL list.

Can Oassis bypass every website restriction or guarantee an extraction?

No. A page may be unavailable, protected by authentication or anti-bot systems, or changed since an integration was written. Keyless reads respect robots.txt. Inspect the returned errors, metadata and sources before relying on extracted content. A successful HTTP response can still contain tool-level errors. Use browser sessions when your workflow requires permitted interaction before reading a page.

Read the API quick start, Web Tasks guide, scheduled Agents guide or complete OpenAPI reference.