{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"github-oxylabs--oxylabs-ai-studio-py","slug":"oxylabs--oxylabs-ai-studio-py","name":"oxylabs-ai-studio-py","type":"repo","url":"https://aistudio.oxylabs.io/","page_url":"https://unfragile.ai/oxylabs--oxylabs-ai-studio-py","categories":["data-pipelines"],"tags":["ai-crawler","ai-scraper","ai-scraping","ai-search","ai-tools","ai-web-scraper","proxy-scraper","python-ai","web-scraping","web-scraping-ai","web-scraping-api","web-scraping-python"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_0","uri":"capability://data.processing.analysis.natural.language.guided.single.page.data.extraction","name":"natural-language-guided single-page data extraction","description":"Extracts structured data from a single web page using semantic AI understanding rather than CSS selectors or XPath. The AiScraper client sends a URL and natural language prompt to the Oxylabs API, which uses vision and language models to understand page semantics, locate relevant content, and return structured JSON matching the requested schema. This approach is resilient to DOM changes because it operates on semantic meaning rather than brittle selectors.","intents":["I need to extract product details from an e-commerce page without writing CSS selectors","I want to scrape data from a website that frequently changes its HTML structure","I need to get structured data from a single URL for my LLM agent's context"],"best_for":["developers building LLM agents that need fresh web data","teams migrating from regex/XPath-based scrapers to AI-driven extraction","non-technical founders prototyping data pipelines without learning selector syntax"],"limitations":["Single-page only — does not follow links or crawl related pages","Latency of 5-30 seconds per request due to remote API processing and AI inference","Requires Oxylabs API key and network connectivity to https://api-aistudio.oxylabs.io","Output quality depends on prompt clarity and page structure complexity"],"requires":["Python 3.10+","Oxylabs API key (set via OXYLABS_API_KEY environment variable)","HTTPS network access to api-aistudio.oxylabs.io","Natural language description of data to extract"],"input_types":["URL (string)","Natural language prompt (string)","Optional JSON schema for structured output"],"output_types":["JSON (structured data matching schema)","Raw HTML (optional fallback)","Metadata (extraction confidence, processing time)"],"categories":["data-processing-analysis","web-scraping","ai-extraction"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_1","uri":"capability://data.processing.analysis.multi.page.semantic.crawling.with.natural.language.navigation","name":"multi-page semantic crawling with natural language navigation","description":"Discovers and extracts data from multiple related pages across a website using AI-driven navigation. The AiCrawler client accepts a starting URL and a natural language prompt describing which pages to visit (e.g., 'follow all product links and extract prices'), then uses semantic understanding to identify relevant links, navigate to them, and extract data from each page. The SDK manages job polling and pagination internally, returning aggregated results from all discovered pages.","intents":["I need to crawl all product pages on an e-commerce site and extract prices without hardcoding pagination logic","I want to discover related articles on a blog and extract summaries from each one","I need to map a website's structure by following semantic relationships between pages"],"best_for":["teams building multi-page data pipelines for competitive intelligence","developers creating knowledge graphs from website hierarchies","non-technical users who want to crawl sites without writing navigation code"],"limitations":["Crawl depth and page limits are API-enforced; cannot crawl entire sites with millions of pages","Navigation accuracy depends on semantic clarity of the prompt and page link structure","Cumulative latency scales with number of pages discovered (5-30 seconds per page)","No built-in deduplication — may revisit pages if navigation logic is ambiguous"],"requires":["Python 3.10+","Oxylabs API key","Starting URL","Natural language description of navigation intent (e.g., 'follow all product category links')"],"input_types":["Starting URL (string)","Navigation prompt (string describing which pages to visit)","Optional JSON schema for per-page extraction","Optional depth/page limit parameters"],"output_types":["List of JSON objects (one per discovered page)","Crawl metadata (pages visited, links followed, extraction success rate)","Raw HTML per page (optional)"],"categories":["data-processing-analysis","automation-workflow","web-scraping"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_10","uri":"capability://data.processing.analysis.output.format.flexibility.with.multiple.serialization.options","name":"output format flexibility with multiple serialization options","description":"Supports multiple output formats for extracted data, including JSON, HTML, CSV, and raw text. The SDK allows developers to specify desired output format per request, and handles serialization and formatting automatically. This capability enables integration with downstream tools and databases that expect specific formats without requiring post-processing.","intents":["I need to extract data as JSON for my LLM agent","I want to export extracted data as CSV for spreadsheet analysis","I need raw HTML for further processing by my custom parsing logic"],"best_for":["developers integrating extraction with diverse downstream tools","teams exporting data to databases or data warehouses","non-technical users who want to export data to familiar formats like CSV"],"limitations":["Format conversion adds minimal latency but requires post-processing","CSV export may lose nested data structure; JSON is recommended for complex data","Raw HTML export includes page markup; requires additional parsing for structured data","Format support depends on underlying extraction client; not all formats available for all clients"],"requires":["Python 3.10+","Oxylabs API key","Desired output format parameter"],"input_types":["Extraction parameters (URL, prompt, schema)","Output format specification (json, csv, html, text)"],"output_types":["JSON (structured data)","CSV (tabular data)","HTML (raw page markup)","Text (plain text extraction)"],"categories":["data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_11","uri":"capability://automation.workflow.error.handling.and.resilience.with.detailed.failure.diagnostics","name":"error handling and resilience with detailed failure diagnostics","description":"Provides comprehensive error handling with detailed diagnostics for extraction failures, including retry logic for transient errors, timeout handling, and structured error messages. The SDK distinguishes between transient errors (network timeouts, temporary API unavailability) and permanent errors (invalid input, authentication failure), applying appropriate retry strategies. Error responses include detailed context (which step failed, why, what was attempted) to aid debugging.","intents":["I want automatic retry logic for transient API failures without writing custom retry code","I need detailed error messages to understand why an extraction failed","I want to distinguish between temporary failures (retry) and permanent failures (skip)"],"best_for":["developers building production extraction pipelines that require reliability","teams running long-running crawls that may encounter transient failures","non-technical users who want clear error messages without debugging"],"limitations":["Retry logic is automatic but not customizable per-request; uses fixed backoff strategy","Error diagnostics depend on API response quality; some errors may lack detailed context","No built-in circuit breaker or rate limiting; developers must implement these if needed","Timeout handling is basic; no graceful degradation or partial result retrieval"],"requires":["Python 3.10+","Oxylabs API key","Error handling code in calling application"],"input_types":["Extraction parameters (URL, prompt, schema)","Optional error handling configuration"],"output_types":["Extraction results on success","Structured error objects on failure (error type, message, context)","Retry metadata (number of retries, backoff delays)"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_12","uri":"capability://automation.workflow.rate.limiting.and.api.quota.management.with.usage.tracking","name":"rate limiting and api quota management with usage tracking","description":"Tracks API usage and enforces rate limits to prevent quota exhaustion. The SDK monitors the number of requests made and remaining quota, and can throttle requests to stay within rate limits. It provides usage statistics and quota warnings to help developers understand their consumption patterns and avoid unexpected quota overages.","intents":["I need to track how many API requests I've made and how much quota remains","I want to throttle my extraction requests to stay within rate limits","I need warnings when I'm approaching my quota limit"],"best_for":["developers managing API quotas for cost control","teams running large-scale extraction pipelines with quota constraints","non-technical users who want to avoid unexpected billing surprises"],"limitations":["Rate limiting is enforced by the SDK but depends on accurate quota tracking from the API","No built-in quota prediction; developers must manually estimate usage","Throttling may increase overall execution time for large jobs","No automatic quota renewal or carryover; quotas reset on schedule defined by Oxylabs"],"requires":["Python 3.10+","Oxylabs API key with quota information","Optional rate limiting configuration"],"input_types":["Extraction parameters (URL, prompt, schema)","Optional rate limit configuration (requests per minute, etc.)"],"output_types":["Extraction results","Usage statistics (requests made, quota remaining)","Rate limit warnings (approaching quota)"],"categories":["automation-workflow","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_2","uri":"capability://automation.workflow.browser.automation.with.natural.language.action.sequences","name":"browser automation with natural language action sequences","description":"Automates complex browser interactions (clicking, form filling, navigation, waiting) using high-level natural language instructions instead of imperative code. The BrowserAgent client accepts a starting URL and an action prompt (e.g., 'log in with email, search for laptops, sort by price'), then uses AI to interpret the prompt, execute the sequence of browser actions, and return the final page state or extracted data. The SDK handles browser session management, JavaScript rendering, and action execution remotely.","intents":["I need to log into a website, perform a search, and extract results without writing Selenium code","I want to fill out a multi-step form and submit it based on natural language instructions","I need to interact with JavaScript-heavy sites that require clicking and waiting for dynamic content"],"best_for":["developers building LLM agents that need to interact with interactive websites","teams automating workflows that require JavaScript rendering and user interactions","non-technical users who want to automate browser tasks without learning Selenium/Playwright"],"limitations":["Action execution latency is high (10-60 seconds per sequence) due to remote browser control","Complex multi-step workflows may fail if the AI misinterprets the action prompt","No built-in error recovery — failed actions require manual retry or prompt refinement","Limited to actions that can be expressed in natural language; very specific DOM manipulations may not be supported"],"requires":["Python 3.10+","Oxylabs API key","Starting URL","Natural language description of actions to perform"],"input_types":["Starting URL (string)","Action prompt (natural language sequence of browser interactions)","Optional screenshot/visual feedback for debugging"],"output_types":["Final page HTML or screenshot","Extracted data from the final page state","Action execution log (which actions succeeded/failed)","Metadata (execution time, JavaScript rendering time)"],"categories":["automation-workflow","tool-use-integration","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_3","uri":"capability://search.retrieval.web.search.with.semantic.result.filtering.and.content.extraction","name":"web search with semantic result filtering and content extraction","description":"Performs web searches and retrieves content from search results using semantic filtering and AI-powered extraction. The AiSearch client accepts a search query and optional filters (e.g., 'find articles about AI safety published in the last month'), then returns a list of search results with extracted content from each page. The SDK handles search engine integration, result ranking, and per-result content extraction internally.","intents":["I need to search the web for recent news about a topic and extract summaries from results","I want to find products matching specific criteria and extract prices and reviews","I need to gather competitive intelligence by searching for mentions of my company across the web"],"best_for":["developers building LLM agents that need real-time web information","teams conducting market research or competitive analysis","non-technical users who want to automate web searches without using search APIs directly"],"limitations":["Search results are limited to a fixed number (typically 10-50 results per query)","Content extraction from search results may fail if pages are behind paywalls or require authentication","Latency scales with number of results to extract (5-30 seconds per result)","Search result ranking and relevance depend on underlying search engine, not customizable"],"requires":["Python 3.10+","Oxylabs API key","Search query (string)","Optional filters (date range, domain, language)"],"input_types":["Search query (string)","Optional filter parameters (date range, domain restrictions, language)","Optional JSON schema for per-result extraction"],"output_types":["List of search results with metadata (title, URL, snippet)","Extracted content from each result (full text, structured data)","Search metadata (total results found, execution time)"],"categories":["search-retrieval","data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_4","uri":"capability://data.processing.analysis.website.structure.mapping.and.hierarchy.discovery","name":"website structure mapping and hierarchy discovery","description":"Analyzes a website's structure to discover page hierarchies, relationships, and navigation patterns using semantic understanding. The AiMap client accepts a starting URL and returns a map of the site's structure, including discovered pages, their relationships, and navigation paths. This capability uses AI to understand site semantics (e.g., 'this is a product category page, these are product detail pages') rather than relying on URL patterns or sitemap files.","intents":["I need to understand a website's structure before building a crawler for it","I want to discover all pages on a site without manually exploring it","I need to identify the hierarchy of content on a website for knowledge graph construction"],"best_for":["developers planning multi-page crawling operations","teams building knowledge graphs from website structures","researchers analyzing website organization and information architecture"],"limitations":["Map completeness depends on site size and link density; very large sites may not be fully mapped","Semantic understanding of page types may be inaccurate for unusual or poorly structured sites","Latency scales with site complexity (10-120 seconds for typical sites)","No real-time updates — map reflects site state at time of analysis"],"requires":["Python 3.10+","Oxylabs API key","Starting URL","Optional depth limit parameter"],"input_types":["Starting URL (string)","Optional depth limit (integer)","Optional page type filters (e.g., 'only product pages')"],"output_types":["Site map JSON (pages, relationships, hierarchy)","Page type classifications (product, category, article, etc.)","Navigation graph (which pages link to which)","Metadata (total pages discovered, map confidence scores)"],"categories":["data-processing-analysis","planning-reasoning","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_5","uri":"capability://data.processing.analysis.schema.driven.structured.data.extraction.with.type.validation","name":"schema-driven structured data extraction with type validation","description":"Enables developers to define JSON schemas that specify the exact structure and types of data to extract from web pages. The SDK accepts a JSON schema (defining fields, types, required properties) and uses it to guide the AI extraction process, ensuring returned data matches the schema structure. This capability works across all extraction clients (AiScraper, AiCrawler, AiSearch) and includes type validation and error handling for schema mismatches.","intents":["I need to extract product data with specific fields (name, price, rating) and ensure type consistency","I want to define a schema once and reuse it across multiple pages or crawls","I need to validate extracted data against a schema before passing it to my LLM agent"],"best_for":["developers building data pipelines that require strict schema compliance","teams integrating web data into structured databases or data warehouses","LLM agent builders who need guaranteed data structure for prompt engineering"],"limitations":["Schema definition requires JSON Schema knowledge; complex nested schemas may be difficult to define","Extraction may fail or return null values if page data doesn't match schema expectations","No automatic schema inference — schemas must be manually defined","Schema validation adds minimal latency but requires post-processing of results"],"requires":["Python 3.10+","Oxylabs API key","JSON Schema definition (dict or JSON string)","Valid JSON Schema syntax (draft 7 or later)"],"input_types":["JSON Schema (dict or JSON string)","URL and extraction prompt (passed to underlying extraction client)","Optional schema validation rules"],"output_types":["JSON data matching schema structure","Validation errors (if data doesn't match schema)","Extraction metadata (which fields were successfully extracted)"],"categories":["data-processing-analysis","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_6","uri":"capability://automation.workflow.asynchronous.job.polling.with.automatic.retry.and.timeout.handling","name":"asynchronous job polling with automatic retry and timeout handling","description":"Manages the asynchronous lifecycle of long-running extraction jobs using a polling pattern that abstracts away HTTP communication details. When a user calls a method like scrape() or crawl(), the SDK submits the job to the Oxylabs API, then polls for completion with exponential backoff, automatic retries on transient failures, and configurable timeouts. The SDK handles all polling logic internally, allowing developers to write synchronous code that blocks until results are ready.","intents":["I want to call a scraping function and wait for results without managing async/await or callbacks","I need automatic retry logic for transient API failures without writing custom retry code","I want to set a timeout for extraction jobs and handle timeouts gracefully"],"best_for":["developers who prefer synchronous code over async/await patterns","teams building simple scripts that don't require concurrent job management","non-technical users who want straightforward blocking API calls"],"limitations":["Synchronous polling blocks the calling thread; not suitable for high-concurrency scenarios","Polling interval and retry logic are not customizable per-job","No built-in job cancellation — submitted jobs run to completion or timeout","Timeout handling is basic; no graceful degradation or partial result retrieval"],"requires":["Python 3.10+","Oxylabs API key","Network connectivity for polling requests"],"input_types":["Job parameters (URL, prompt, schema)","Optional timeout parameter (seconds)"],"output_types":["Extraction results (JSON, HTML, or metadata)","Timeout exceptions if job exceeds timeout","Retry metadata (number of retries, backoff delays)"],"categories":["automation-workflow","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_7","uri":"capability://data.processing.analysis.geolocation.and.locale.aware.content.rendering","name":"geolocation and locale-aware content rendering","description":"Enables extraction of location-specific content by allowing developers to specify geolocation and language preferences for requests. The SDK accepts geolocation parameters (country, city, IP proxy) and language settings, then routes requests through proxies or renders pages as if accessed from that location. This capability is useful for extracting region-specific pricing, content, or search results that vary by geography.","intents":["I need to extract product prices from different countries to compare regional pricing","I want to see search results as they appear to users in a specific country","I need to extract content in a specific language or locale"],"best_for":["teams conducting international competitive analysis","developers building multi-region pricing comparison tools","researchers studying geo-specific content variations"],"limitations":["Geolocation accuracy depends on proxy quality; some sites may detect and block proxies","Rendering from different locations adds latency (5-15 seconds per request)","Not all sites respect geolocation headers; some require actual IP-based detection","Language rendering may not work for all sites; some require explicit language selection"],"requires":["Python 3.10+","Oxylabs API key","Geolocation parameter (country code or city)","Optional language parameter"],"input_types":["URL (string)","Geolocation parameter (country code, e.g., 'US', 'GB')","Optional language parameter (e.g., 'en', 'de')","Extraction prompt (passed to underlying extraction client)"],"output_types":["Location-specific content (JSON or HTML)","Geolocation metadata (actual location detected, proxy used)","Language rendering metadata"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_8","uri":"capability://data.processing.analysis.javascript.rendering.and.dynamic.content.extraction","name":"javascript rendering and dynamic content extraction","description":"Automatically renders JavaScript-heavy pages and extracts data from dynamically loaded content. The SDK detects when a page requires JavaScript execution (e.g., React, Vue, Angular apps) and uses a headless browser to render the page, wait for dynamic content to load, and then extract data. This capability is transparent to the user — the SDK handles rendering automatically based on page complexity.","intents":["I need to extract data from a React app that loads content dynamically","I want to scrape a site that uses JavaScript to render product listings","I need to wait for AJAX requests to complete before extracting data"],"best_for":["developers scraping modern JavaScript-heavy websites","teams extracting data from single-page applications (SPAs)","researchers analyzing dynamically loaded content"],"limitations":["JavaScript rendering adds 5-15 seconds of latency per request","Complex JavaScript may not execute correctly in headless browser; some sites may detect and block headless browsers","No control over rendering timeout or wait conditions; SDK uses heuristics to detect when page is ready","Memory overhead for browser rendering; not suitable for very high-volume extraction"],"requires":["Python 3.10+","Oxylabs API key","Network connectivity for remote browser rendering"],"input_types":["URL (string)","Extraction prompt (passed to underlying extraction client)","Optional JavaScript rendering hints (e.g., 'wait for table to load')"],"output_types":["Rendered HTML (after JavaScript execution)","Extracted data from rendered content","Rendering metadata (execution time, JavaScript errors)"],"categories":["data-processing-analysis","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"github-oxylabs--oxylabs-ai-studio-py__cap_9","uri":"capability://automation.workflow.multi.stage.workflow.composition.with.data.chaining","name":"multi-stage workflow composition with data chaining","description":"Enables developers to compose complex multi-stage workflows where output from one extraction stage feeds into the next. For example, a developer can first crawl a site to discover product URLs, then scrape each URL to extract detailed data, then search for reviews of those products. The SDK provides utilities to chain operations together, passing data between stages and aggregating results. This capability is useful for building complex data pipelines without writing orchestration code.","intents":["I need to crawl a site to find product URLs, then scrape each URL for details","I want to search for companies, then crawl their websites, then extract contact information","I need to build a multi-step pipeline that combines search, crawling, and extraction"],"best_for":["developers building complex data pipelines with multiple extraction stages","teams automating multi-step research workflows","LLM agent builders who need to compose multiple extraction operations"],"limitations":["Workflow composition requires manual code; no visual workflow builder","Error handling across stages is manual; failure in one stage doesn't automatically propagate","No built-in caching or deduplication across stages; may extract duplicate data","Cumulative latency scales with number of stages (each stage adds 5-30 seconds)"],"requires":["Python 3.10+","Oxylabs API key","Multiple extraction clients (AiScraper, AiCrawler, AiSearch, etc.)","Custom code to chain operations together"],"input_types":["Output from previous stage (URLs, data, search results)","Extraction parameters for current stage"],"output_types":["Aggregated results from all stages","Stage-by-stage execution metadata","Error logs for failed stages"],"categories":["automation-workflow","planning-reasoning"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":43,"verified":false,"data_access_risk":"high","permissions":["Python 3.10+","Oxylabs API key (set via OXYLABS_API_KEY environment variable)","HTTPS network access to api-aistudio.oxylabs.io","Natural language description of data to extract","Oxylabs API key","Starting URL","Natural language description of navigation intent (e.g., 'follow all product category links')","Desired output format parameter","Error handling code in calling application","Oxylabs API key with quota information"],"failure_modes":["Single-page only — does not follow links or crawl related pages","Latency of 5-30 seconds per request due to remote API processing and AI inference","Requires Oxylabs API key and network connectivity to https://api-aistudio.oxylabs.io","Output quality depends on prompt clarity and page structure complexity","Crawl depth and page limits are API-enforced; cannot crawl entire sites with millions of pages","Navigation accuracy depends on semantic clarity of the prompt and page link structure","Cumulative latency scales with number of pages discovered (5-30 seconds per page)","No built-in deduplication — may revisit pages if navigation logic is ambiguous","Format conversion adds minimal latency but requires post-processing","CSV export may lose nested data structure; JSON is recommended for complex data","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.45167962053984423,"quality":0.5,"ecosystem":0.6000000000000001,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.3,"quality":0.2,"ecosystem":0.15,"match_graph":0.3,"freshness":0.05}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:22.063Z","last_scraped_at":"2026-05-03T13:57:16.561Z","last_commit":"2025-12-04T14:55:30Z"},"community":{"stars":2839,"forks":25,"weekly_downloads":null,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=oxylabs--oxylabs-ai-studio-py","compare_url":"https://unfragile.ai/compare?artifact=oxylabs--oxylabs-ai-studio-py"}},"signature":"rFyhvP6JEGkRDLGkm7zh2/sWkHJLyZN+/eFEIhKIw8ZeRVV0cnQzwJGs8DRqwEqAxv2j3TuPMG2oOpAAOmKnCw==","signedAt":"2026-06-20T10:45:49.538Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/oxylabs--oxylabs-ai-studio-py","artifact":"https://unfragile.ai/oxylabs--oxylabs-ai-studio-py","verify":"https://unfragile.ai/api/v1/verify?slug=oxylabs--oxylabs-ai-studio-py","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}