Tool search 164,478 tools · 10,067 live servers
Filtersactive
- ai_scraper
Scrape the contents of the web page and return the data in the specified format. Schema is required only if output_format is json or csv. 'render_javascript' is used to render javascript heavy websites.
- ai_search
Search the web based on a provided query. 'return_content' is used to return markdown content for each search result. If 'return_content' is set to True, you don't need to use ai_scraper to get the content of the search results urls, because it is already included in the search results. if 'return_content' is set to True, prefer lower 'limit' to reduce payload size.
- universal_scraper
Get a content of any webpage. Supports browser rendering, parsing of certain webpages and different output formats.
- google_search_scraper
Scrape Google Search results. Supports content parsing, different user agent types, pagination, domain, geolocation, locale parameters and different output formats.
- amazon_search_scraper
Scrape Amazon search results. Supports content parsing, different user agent types, pagination, domain, geolocation, locale parameters and different output formats. Supports Amazon specific parameters such as category id, merchant id, currency.
- amazon_product_scraper
Scrape Amazon products. Supports content parsing, different user agent types, domain, geolocation, locale parameters and different output formats. Supports Amazon specific parameters such as currency and getting more accurate pricing data with auto select variant.
- get_flight_points
Collect award (miles/points) pricing for a flight search that reported pending_sources. Call this after search_flights when you set points: true and the response came back with pending_sources — those are the loyalty programs still being scraped. Returns per-program results: cash itineraries paired with their award price and cents-per-point, plus award-only itineraries the cash search did not surface. A program reporting "timeout" has no answer yet and can be asked again; "no_results" means that program genuinely has no award availability on this route.
- search_offenders
Search US sex-offender registries for one person and/or location. Fans out across all 58 registries (or the ones named in `jurisdictions`), de-duplicates people across registries, scores each match, and returns the normalized records. Supply whatever identifiers you have — all args are optional but at least a name, location, or free-text `q` should be given. Returns a SearchResponse object (docs/openapi.yaml / FIELD-DICTIONARY.md): - status: 'complete' | 'partial' (partial = a source errored, or a source could not be searched to completion) - counts: { records, sourcesQueried, sourcesIncomplete } - warnings: [str] — ALWAYS present, `[]` when the search ran clean - sourceStatus: [ { source, status, matched, fromCache, note, incomplete, incompleteReason } ] per-registry outcome ★ READ `counts.sourcesIncomplete` BEFORE REPORTING A RESULT. Above 0, `records` is a LOWER BOUND: those registries could not be searched to the end, and an empty or short result is NOT evidence that a person is unregistered. Say so. `warnings[0]` states it in plain language; relay it rather than summarising it away. - records: [ Record ], each with: recordId, matchConfidence, matchBasis[], name {first, middle, last, suffix, full}, aliases[], nicknames[], dob, dobPrecision, age, sex, race, ethnicity, height, weight, eyeColor, hairColor, marks, addresses[{type,line1,city,county,state,zipcode,lat,lng}], offense {crime,statute,riskLevel,tier,convictionDate,...}, flags{absconder,predator}, source {jurisdiction,registryName,recordUrl,scrapedAt,sourceUpdatedAt}, sources[], dobVerification, unverified (offenses[], stateData, images[] are populated only when extensive=true) Auth: uses the caller's X-API-Key (request header or OFFENDERSEARCH_API_KEY env).
- fetch_html
Fetch the fully rendered HTML of any web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com), bypassing anti-bot protection (Cloudflare, DataDome, PerimeterX, Akamai, Shape). Use when a normal fetch is blocked (403/429, captcha) or the page needs a real browser. Returns raw HTML. Pass `steps` to interact with the page (search, click, paginate) before capture - use the list_elements tool first to discover selectors.
- fetch_parsed
Fetch a web page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return AI-parsed structured JSON instead of raw HTML (product details, article content, listings).
- google_search
Run a Google search through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return organic results as JSON.
- list_elements
Fetch a page through the ScrapeUnblocker API (https://docs.scrapeunblocker.com) and return its interactive elements (buttons, inputs, selects, links, forms), each with a ready-to-use selector, as JSON {url, count, elements:[...]} instead of raw HTML. Use it to discover what to target, then drive the page with the `steps` param of fetch_html.
Web Search APIio.github.Br0ski777/web-searchAVerified- web_search_query
Semantic web search for finding relevant pages, documents, and current information. Alternative to Exa search at 3x lower cost. Returns structured JSON results with ranked matches, titles, URLs, and text snippets. 1. results (array) -- ranked list of search results 2. results[].title (string) -- page title 3. results[].url (string) -- full URL to the page 4. results[].snippet (string) -- relevant text excerpt with query terms highlighted 5. query (string) -- the search query used 6. totalResults (number) -- number of results returned Example output: {"query":"best CRM for startups 2026","results":[{"title":"Top 10 CRMs for Startups in 2026","url":"https://blog.example.com/crm-startups","snippet":"HubSpot leads the pack for early-stage startups with its free tier..."},{"title":"CRM Comparison Guide","url":"https://review.example.com/crm","snippet":"We tested 15 CRM platforms across pricing, features..."}],"totalResults":5} Use this BEFORE answering questions about current events, finding documentation, researching competitors, or gathering data on any topic. Essential for semantic web search when the agent needs up-to-date information beyond its training data. Drop-in replacement for Exa search. Do NOT use for web page content extraction -- use web_scrape_to_markdown instead. Do NOT use for SEO analysis -- use seo_audit_page instead. Do NOT use for screenshot capture -- use capture_screenshot instead. Do NOT use for company data -- use company_enrich_from_domain instead.
Web Scraper to Markdown APIio.github.Br0ski777/web-scraperAVerified- web_scrape_to_markdown
Scrape and extract content from a URL with full JS rendering, returned as clean markdown. Alternative to Firecrawl scrape at 2.5x lower cost. Strips navigation, ads, scripts, and boilerplate — ideal for RAG pipelines and AI research agents. 1. title (string) -- page title from <title> tag 2. description (string) -- meta description 3. author (string) -- author from meta tags or schema 4. content (string) -- clean markdown body text, headings preserved 5. wordCount (number) -- total words in extracted content 6. charCount (number) -- total characters 7. url (string) -- final URL after redirects Example output: {"title":"How to Scale APIs","description":"A guide to...","content":"# How to Scale APIs\n\nScaling requires...","wordCount":1250,"charCount":7800,"url":"https://blog.example.com/scale-apis"} Use this BEFORE summarizing articles, building RAG corpora, researching topics from web sources, or extracting data from documentation pages. Essential for any workflow that needs to scrape and extract content from web pages as LLM input. Drop-in replacement for Firecrawl scrape. Do NOT use for screenshots -- use capture_screenshot instead. Do NOT use for SEO audit -- use seo_audit_page instead. Do NOT use for tech stack detection -- use website_detect_tech_stack instead. Do NOT use for web search -- use web_search_query instead.
- web_scrape_batch
Use this when you need to extract clean content from multiple web pages at once (up to 10 URLs). Returns the same structured markdown output as web_scrape_to_markdown for each URL. 1. results (array) -- each entry has title, description, author, content, wordCount, charCount, url 2. summary -- total pages scraped, total word count, failed URLs if any Example output: {"results":[{"url":"https://a.com","title":"Page A","wordCount":800},{"url":"https://b.com","title":"Page B","wordCount":1200}],"summary":{"total":2,"totalWords":2000,"failed":0}} Use this FOR building research corpora, comparing content across competitor pages, or bulk documentation extraction. Essential when you have 3+ URLs to process in one workflow. Do NOT use for single URLs -- use web_scrape_to_markdown instead. Do NOT use for SEO comparison -- use seo_audit_batch instead.
Fetch Statusio.github.sadri-dridi/fetch-statusBVerified- agent-tool-index
Find a public pay-per-call tool gateway for a task such as weather, search, scrape, or voice. Returns connection methods. Task text discarded.
Web Fetchio.github.sadri-dridi/web-fetchBVerified- agent-tool-index
Find a public pay-per-call tool gateway for a task such as weather, search, scrape, or voice. Returns connection methods. Task text discarded.
- fetch_resilient
Resilient fetch with automatic fallback: native scraper first, then headless Chromium for JS-rendered or bot-walled pages. Price: $0.008
News Feed Countio.github.sadri-dridi/news-feed-countBVerified- agent-tool-index
Find a public pay-per-call tool gateway for a task such as weather, search, scrape, or voice. Returns connection methods. Task text discarded.
Search Query Lengthio.github.sadri-dridi/search-query-lenBVerified- agent-tool-index
Find a public pay-per-call tool gateway for a task such as weather, search, scrape, or voice. Returns connection methods. Task text discarded.
Weather Hintio.github.sadri-dridi/weather-hintBVerified- agent-tool-index
Find a public pay-per-call tool gateway for a task such as weather, search, scrape, or voice. Returns connection methods. Task text discarded.
wikipediaio.github.pipeworx-io/wikipediaBVerified- get_article_summary
AUTHORITATIVE summary of a Wikipedia article by exact title — typically faster + cheaper than search_wikipedia + get_article_sections + scrape. Returns the article's lead paragraph (the editorial overview), one-line description, thumbnail image, and a few related-content links. Use when you already have the canonical title (got it from search_wikipedia, or it's a well-known entity) and need the standard "what is X" prose answer. For the full section breakdown use get_article_sections.
- jobs.refresh
Queue a job posting to be re-scraped. The returned job may remain pending; use jobs.get later to inspect the refreshed state.
- scrape
Scrape a URL and return content in your preferred format. Supported output formats: - markdown (default): Clean LLM-ready Markdown text - screenshot: PNG/JPEG image of the page - pdf: PDF document of the page - csv: Table data extracted as CSV - html: Sanitized HTML with scripts/ads removed This tool handles: - JavaScript rendering (SPA, dynamic content) - Anti-bot bypass (Cloudflare Turnstile, Datadome) - DOM cleaning (strips scripts, nav, footer, ads) - HTML-to-Markdown conversion (Mozilla Readability engine) - Automatic retry with escalating wait strategies - Domain cooldown to avoid rate-limiting - Response caching (5 min TTL) Args: url: The URL to scrape (must start with http:// or https://) output: Output format: "markdown" (default), "screenshot", "pdf", "csv", "html" wait_for_selector: Optional CSS selector to wait for before extraction (e.g., ".article-content") timeout_ms: Navigation timeout in milliseconds (default: 20000, max: 120000) block_media: Block images/fonts/video for faster loading (default: true) wait_strategy: Wait strategy: "default", "spa", "heavy", "cloudflare" (auto-detected if omitted) retry: Enable automatic retry on failure (default: true) bypass_cache: Skip cache, force fresh scrape (default: false) javascript: Custom JavaScript to execute after page load (e.g., "window.scrollTo(0, 1000)") Returns: Content in the requested format, or an error message.
- get_pricing
Check current pricing and payment requirements for the BaaS scrape engine. Returns pricing info, supported networks, and payment instructions. No authentication required. Returns: Current pricing details and payment instructions.
- serp_read
Web search plus page reading in one call: answer with sources. Runs a web search, scrapes the top results, and returns the ranked search results together with each page's content as clean LLM-ready markdown, so an agent gets the SERP AND the underlying text without a second round of scrape calls. Per-page fetch errors are reported honestly per URL. [$0.08/call]. Params — q: search query; fetch_top: how many top results to fetch and extract, cap 5; maxChars: max markdown chars per fetched page; num_results: ranked results to return, cap 25; region: locale, e.g. us-en, uk-en, de-de; timelimit: restrict to past day/week/month/year (d|w|m|y); safesearch: string (on|moderate|off); mode: string (web|news); engine: search backend: auto (recommended) or yahoo/yandex (web); bing (news) Example params: {'q': 'how does x402 payment protocol work', 'fetch_top': 3}
- scrape
Scrape any web page to clean markdown. A keyless web scraper that converts a single URL into LLM-ready markdown plus structured metadata (title, headings, links, word count), so an agent can read a page without running a browser. A per-call alternative to Firecrawl's scrape endpoint, with no API key and no account. Single page per call, not a site crawler. [$0.03/call]. Params — url: page URL to scrape; maxChars: markdown cap Example params: {'url': 'https://example.com'}
- scrape_chatgpt
Submit a prompt to ChatGPT from a chosen country (and optionally US state) and return the full answer: text, cited sources, and optionally markdown, search queries, shopping results, and ads. Use this to see how ChatGPT answers a prompt and which brands/sources it mentions.
- scrape_gemini
Submit a prompt to Google Gemini from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Google Gemini answers a prompt and which brands/sources it mentions.
- scrape_copilot
Submit a prompt to Microsoft Copilot from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Microsoft Copilot answers a prompt and which brands/sources it mentions.
- scrape_perplexity
Submit a prompt to Perplexity from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Perplexity answers a prompt and which brands/sources it mentions.
- scrape_grok
Submit a prompt to Grok (xAI) from a chosen country (and optionally US state) and return the answer with cited sources. Use this to see how Grok (xAI) answers a prompt and which brands/sources it mentions.
- scrape_google_ai_mode
Submit a prompt to Google AI Mode from a chosen country and return the AI answer with cited sources. Supports location or UULE targeting and desktop/mobile emulation.
- search_cases_by_attorney
Cases where an attorney is counsel of record — by bar number OR by name. "What's on my docket?" for a lawyer or firm. Returns the case number, caption, filing date, case type and county for every case the register lists that attorney on. Each `case_number` goes straight into `lookup_court_case`. EVERY ROW NOW CARRIES `case_status`, with no `enrich` needed — so do not call `lookup_court_case` merely to find out whether a case is open or closed. The returned text is FINER-GRAINED than the four filter values: alongside "Pending" and "Disposed" you will see "Disposed - Voluntary Dismissal", "Disposed - Dismissal on Order of the Court", "Disposed - Clerk of Superior Court" — i.e. HOW it ended, not just that it did. So never test it with equality against the filter vocabulary (`status == "Disposed"` misses most disposed rows); match on a prefix, and quote the portal's own wording when you report it. FAST — about 3-15 seconds. This uses the portal's own attorney-search mode, not the slow WAF-and-CAPTCHA hearing scrape, so do NOT warn the user about a long wait here. PASS EITHER `bar` OR BOTH `last` AND `first` — a first name alone or a last name alone is rejected. Prefer the bar number when you have it: it resolves to exactly one attorney, whereas a name can match several. WHEN A NAME MATCHES MORE THAN ONE ATTORNEY, `attorney_name` comes back NULL and `matched_attorneys` lists everyone matched — the results are then a MERGED docket spanning all of them. Say so and offer to narrow by bar number; do not present it as one lawyer's caseload. When exactly one attorney matched, `attorney_name` is set, and it is worth echoing so the user can confirm it resolved to who they meant. `case_status="Pending"` is usually what someone means by "my cases" — without it you get their entire history, which for a working attorney is mostly closed matters and will hit the cap below. Old cases legitimately remain Pending, so a 2016 case in a Pending list is not necessarily an error. THE 200-CASE CAP IS REAL AND IT BITES HERE. `truncated: true` means matches are MISSING, not merely unshown — a busy defender or a large firm exceeds 200 routinely. `case_status` and `file_date_start`/`file_date_end` narrow SERVER-SIDE and genuinely recover cases; `county` does NOT — it filters after the cap, so a truncated county-filtered count is a lower bound, not a county total. Say the list is incomplete rather than presenting it as the attorney's full caseload. A DATE RANGE MAY NOT BE ENOUGH ON ITS OWN. Measured: bar 21262 restricted to cases filed in 2024 still returned 200 `truncated: true`, spanning only 20 Nov – 31 Dec. Narrow to a few months and check `truncated` again rather than assuming one year fixed it. Dates: ISO `YYYY-MM-DD` or `MM/DD/YYYY` — both accepted. `file_date_*` is WHEN THE CASE WAS FILED, not when a hearing is. For "what's on my calendar today", use `get_attorney_hearing_calendar` — filtering by file date answers a different question and will usually return nothing. "OF RECORD" IS NOT "CURRENTLY REPRESENTING". This is what the register records, so withdrawn, substituted and long-closed representations still appear. Do not describe the result as someone's active caseload. Public record — the portal offers this same search to anyone, so this is not a private view of a firm's book of business. Read-only. North Carolina (NC) only. Informational, not legal advice.
- court_visit_info
Which courthouse, where it is, when it's open, and where to park. For "I have court on Tuesday — where do I go?". Give a `county` ("Wake") or a `caseNumber` to derive it. From the North Carolina (NC) AOC directory plus Google Places. RETURNS `locations[]`, NOT ONE COURTHOUSE. 19 counties have several venues and picking one silently is a real way to send someone to the wrong building. Wake has a Courthouse, a Justice Center AND a Clerk's office; Guilford has courthouses in Greensboro and High Point, in different cities. `multipleLocations:true` means you must disambiguate rather than assume. TO PICK THE RIGHT ONE, USE THE CASE'S HEARING LOCATION. `lookup_court_case` returns `upcomingHearings[].location` (e.g. "Wake Co. Justice Center"), which usually names the building. Match it against `locations[].name`, allowing for "Co." vs "County". BUT DO NOT FORCE A MATCH: measured on real hearings, a third have `"No location"` at all, and several use names that don't correspond to the directory — "Buncombe Co. Judicial Complex" is the Buncombe County Courthouse, "Alamance Co. JB Allen" is the Alamance County Courthouse. When it doesn't map cleanly, SHOW THE OPTIONS and let the user choose. Guessing between Wake's Courthouse and its Justice Center is exactly the wrong place to be confident. HOURS ARE REAL — and watch for lunch closures. A value like "08:30-12:30, 13:30-17:00" means the venue SHUTS between those times; someone arriving at 1pm in Nash, Wilson, Cherokee or either Guilford courthouse finds a locked door. Say the closure out loud. Courts also close on NC state holidays, which these hours do not encode. `parkingAttributes` are what the venue publishes — "freeLot", "paidGarage", "onSite" etc. ABSENT MEANS NOT CLAIMED, NOT "no parking". `nearbyParking` (actual lots near the building, with `distanceMeters` and a `mapsUrl`) and `parkingMapUrl` (a static map image, courthouse marked "C") appear on AT MOST ONE location — the one the scrape described. Their absence on the others is not a statement about them. `accessibility` is published PER BUILDING — "wheelchairEntrance", "wheelchairParking", "wheelchairRestroom", "wheelchairSeating", "restroom". Report what a venue claims. An ABSENT flag is NOT a claim that the feature is missing: every venue claims wheelchair entrance, parking and restroom, but only 15 of 121 claim accessible SEATING, and no venue publishes assisted-listening data at all. For anyone who depends on a specific accommodation, give what's listed and say to call the courthouse to confirm the rest — do not report "not accessible" from a missing flag. `source:"nccourts-scrape"` means the directory had no entry and this fell back to the live site, so `hours` will be empty — tell the user to call rather than inventing them. All 100 counties are currently in the directory, so this should be rare. THIS IS LOCATION INFO, NOT CASE INFO — nothing about hearings, charges or status; use `lookup_court_case` for those. Cite the disclaimer: verify with the clerk before travelling. Read-only. NC only.
Data Quality Gate - deterministic post-scrape cleaner + verdictio.github.aidatatools-dev/data-quality-gateBVerified- clean_scraped_data
PAID TIER, CALLED FROM A FREE ENDPOINT -- READ THIS FIRST: this tool does NOT return your cleaned data, and its response has NO `data` key. It returns {"status": "payment_required", "what_we_found_in_your_data": {...}, "get_the_repaired_data": {...}}. Do not treat its output as cleaned data and do not write it back into your dataset. WHAT YOU GET HERE, FREE: an exact inventory of the defects in YOUR data -- which repair rules would fire, how many values each would change, and which cases cannot be repaired safely and need your decision. HOW TO GET THE REPAIRED DATA: make the one call named in `get_the_repaired_data` -- POST https://www.aidatatools.dev/api/clean, $0.04 via x402, no account, no API key, no signup. That response body IS the cleaned dataset, in the shape you posted it. WHY THE SPLIT: detection is free on this endpoint and always has been (check_dataset_quality reports the same defects). The repaired artifact is the paid product, because it is re-bought on every extraction run rather than cached like a verdict. WHAT THE PAID CALL DOES: removes leftover HTML tags and entities, decodes mojibake ('Café' -> 'Café'), strips invisible characters (zero-width, BOM, soft hyphen), normalises non-breaking spaces and trims values -- across nested objects and arrays too. 100% deterministic, no LLM: the same input always yields byte-identical output, and cleaning twice equals cleaning once. It repairs how data was ENCODED, never what it SAYS: masked placeholders ('N/A', 'None'), near-duplicate rows and failed extractions ('access denied', 'captcha', which mean that record must be re-scraped) are reported with a proposal, never silently deleted or rewritten. The full boundary -- 7 rules applied automatically, 5 needing an explicit opt-in, 8 only ever reported -- is at GET https://www.aidatatools.dev/api/clean.
- clean_scraped_data_audited
PAID TIER, CALLED FROM A FREE ENDPOINT -- READ THIS FIRST: this tool does NOT return your cleaned data, and its response has NO `data` key. It returns {"status": "payment_required", "what_we_found_in_your_data": {...}, "get_the_repaired_data": {...}}. Do not treat its output as cleaned data and do not write it back into your dataset. WHAT YOU GET HERE, FREE: an exact inventory of the defects in YOUR data -- which repair rules would fire, how many values each would change, and which cases cannot be repaired safely and need your decision. HOW TO GET THE REPAIRED DATA: make the one call named in `get_the_repaired_data` -- POST https://www.aidatatools.dev/api/clean/audit, $0.12 via x402, no account, no API key, no signup. That response body IS the cleaned dataset, in the shape you posted it. WHY THE SPLIT: detection is free on this endpoint and always has been (check_dataset_quality reports the same defects). The repaired artifact is the paid product, because it is re-bought on every extraction run rather than cached like a verdict. WHAT THE PAID CALL DOES: the same repair as clean_scraped_data, plus a complete audit trail: every transformation with its path, rule, before and after value, a replay_id, and input/output SHA-256. The ledger is a full inverse patch -- applying it in reverse reconstructs your original input byte for byte. Use it when you must be able to PROVE later what changed and why.
- scrape
Turn a URL into clean, LLM-ready markdown and structured data.
- crawl
Discover and scrape a whole site as one job. Returns a crawl id straight away; read it with crawl_status. Use this instead of calling scrape in a loop.
- crawl_status
Read a crawl started with crawl: how far it has got, and the pages it has scraped.
- batch
Scrape a list of URLs you already have as one job. Returns a batch id straight away; read it with batch_status.
- search
Search the web and return ranked results: title, url and snippet. Set scrapeResults to also fetch each result as markdown, at 1 extra credit per page.
- find_by_serp
WHAT: Search maps llms-serp.txt blocks by q, path, url, or slug. RETURNS path/url/snippet items. USE for title/H1/description SERP cards on maps. DOES NOT scrape live HTML. NEXT: get_serp_snippet for one full block.
- ask_business
Ask a specific business's ANOTS agent a question, by slug. The agent answers from that business's own knowledge base and tools (live data, not scraped HTML). Get the slug from search_businesses.
- scrape_url
抓取一个公开网页,返回干净的 Markdown(供 AI 阅读/总结/提取)。 只抓公开网页,禁止内网/保留地址;不生成任何内容,只做抓取与格式转换。 静态抓取拿不到内容的 JS 动态页可加 render=true 走真浏览器渲染。
- extract
结构化抽取网页要素(表格/链接/图片/标题大纲/元数据/自定义 CSS 选择器),返回 JSON。 与 scrape_url 的区别:不返回整页正文,只返回指定结构——表格转成 headers+rows 的 JSON 可直接计算;配自定义选择器可精准取价格/标题等字段。
- site_map
发现站点 URL 清单:优先 robots.txt / sitemap.xml,无站点地图时退化为入口页链接发现。 配合 scrape_url / crawl 使用:先 site_map 挑准页面,再精准抓取,省 credit。
- webScrape
Scrape a webpage with custom options
- metaScrape
Scrape meta tags from a URL
- search_organizers
Search organizer profiles enriched from event data. Returns organizer names, source, website/contact details, Instagram profile URL plus handle, and scrape status.
- scrape_reddit
Scrape Reddit posts and comments by subreddit, keyword search, or post URL. Returns full post data with comment trees.
- scrape_ats_jobs
Scrape job listings from company ATS boards: Greenhouse, Lever, Workday, and Ashby. No auth required — uses their public job APIs.
- scrape_trustpilot
Scrape Trustpilot reviews for any company. Returns reviewer name, star rating, review title, body, date, and verified status.
- x402-web-scrape
Web Scrape: Clean text from URL, alias of text-scrape. 🆓 5 free trial calls per signed wallet
- x402-text-scrape
Text Scrape: Extract text from URL. 🆓 5 free trial calls per signed wallet
- x402-browser-scrape
Browser Scrape: Fetch a public URL and return the full raw HTML page source — for agents that need the complete page, not just extracted text. SSRF-guarded.
- x402-premium-web-scrape
Premium Web Scrape: Premium web scraping with anti-bot handling.
- public_holidays
Public / statutory holidays for a country (and optional state/province/region) in a given year — computed in-house, NOT scraped, so it's exact and offline-stable. Per holiday: date, name, weekday, whether it's an observed-day shift, the country, and the subdivision (when one was requested), plus the next upcoming holiday. `country` = ISO-3166 alpha-2 code (default "AU"); common names accepted ("australia", "usa", "uk", "new zealand"). 100+ countries. `year` = 4-digit year (default = current year). `subdiv` = optional subdivision code for region-specific holidays — e.g. "NSW"/"VIC"/"QLD" for AU, "CA"/"NY" for US, "ENG"/"SCT" for GB; national-level only if omitted (state lists are richer). Pairs with `market_hours`. Holiday DATES are non-copyrightable facts; computed via the open-source `holidays` library (vacanza, MIT) — commercial use + redistribution permitted, keyless. Informational only — confirm against the official gazette for legal/payroll use. Every value is returned in an Ed25519-signed, provenance-stamped envelope (source and observation time) you can verify offline against /.well-known/keys, no account required.
Mifactory Scraping Apiio.github.mifactory-bot/mifactory-scraping-apiCVerified- scrape
Extract clean text from any URL