browser_ai_extract
Extract specific information from the page using AI. Describe what you want to extract and the AI will analyze the page content and return the relevant data. Example: 'all product prices'.
When to use browser_ai_extract
Use browser_ai_extract when you need to pull clean, structured data out of a rendered page. It is part of Owl Browser's Content Extraction toolset and runs inside a self-hosted, source-level stealth engine, so every call inherits the same undetectable browser fingerprint as the rest of your automation — no separate anti-detect setup required.
Usage Example
Parameters
Required
context_idstringrequiredThe unique identifier of the browser context (e.g., 'ctx_000001')
whatstringrequiredDescription of what to extract (e.g., 'all product prices', 'main headline')
Response
Returns a JSON object with the operation result.
{
"success": true,
"result": <value>
}Frequently Asked Questions
What does browser_ai_extract do?
Extract specific information from the page using AI. Describe what you want to extract and the AI will analyze the page content and return the relevant data. Example: 'all product prices'. It belongs to Owl Browser's Content Extraction category and is available through the REST API, the Python SDK (browser.ai_extract()), the Node.js SDK, and the MCP server.
What parameters does browser_ai_extract accept?
browser_ai_extract accepts 2 required parameters (context_id, what) and 0 optional parameters. All parameters are sent as JSON in a POST request to /api/execute/browser_ai_extract.
Is browser_ai_extract detectable by anti-bot systems like Cloudflare or DataDome?
No. browser_ai_extract executes inside Owl Browser's Chromium engine, which applies fingerprint spoofing at the C++ source level rather than through JavaScript patches. Every tool call shares the same consistent, human-like fingerprint, so anti-bot systems such as Cloudflare, DataDome, and Akamai see an ordinary browser.
Related Tools
browser_extract_textExtract visible text content from the page or a specific element. Returns plain text stripped of HTML tags. Optionally target a specific element using CSS selector or natural language description. When the selector matches multiple elements, returns a JSON array of text strings. Optionally apply a regex pattern to filter/extract specific content from the text (applied per-element when multiple matches). Useful for reading page content, extracting article text, getting form values, or extracting specific data like numbers, emails, or prices.
browser_get_htmlExtract HTML content with configurable cleaning levels. Optionally target a specific element using a CSS selector to get its innerHTML instead of the full page. When the selector matches multiple elements, returns a JSON array of HTML strings. 'minimal' preserves most structure, 'basic' removes scripts and styles, 'aggressive' strips to essential content. Useful for page analysis, content extraction, and feeding HTML to other processing tools.
browser_get_markdownConvert the page content to clean Markdown format. Preserves headings, links, images, lists, and basic formatting. Much more readable than HTML for text analysis. Optionally control inclusion of links and images, and limit output length for large pages.
browser_extract_siteExtract content from multiple pages of a website. Crawls links starting from a URL and extracts content in the specified format. Returns a job_id immediately for async progress tracking. Use browser_extract_site_progress to monitor and browser_extract_site_result to get output.
browser_extract_site_progressGet progress of a site extraction job. Returns pages_completed, pages_total, current_url, and status. Status can be: 'running', 'completed', 'cancelled', or 'error'.
browser_extract_site_resultGet the result of a completed site extraction job. Returns the formatted content based on the output_format specified when starting the job (markdown, text, or json).