Provider reference
Each section covers one provider in the same order: what it is good for, how to get a key, then the options and quirks. Pass options under providerOptions.<provider> as described in Request options. Common fields (query, limit, url, max_chars) are not repeated below.
Compare providers
Section titled “Compare providers”The free allowances come from vendor research in October 2026. Vendors change plans often, so confirm on their site. For how limits behave in Polyweb, see Rate limits and budgets.
| Provider | search |
fetch |
Key | Free allowance |
|---|---|---|---|---|
brave |
yes | no | Required | $5 of credits each month (card required) |
exa |
yes | yes | Required | $10 monthly grant plus a one-time $10 bonus |
firecrawl |
yes | yes | Required | 1,000 credits per month |
keenable |
yes | yes | Optional | Keyless is unmetered; a key adds 100,000 requests per month |
parallel |
yes | yes | Required | $5 of credits each month (card required) |
tavily |
yes | yes | Optional | 1,000 credits per month with a key |
tinyfish |
yes | yes | Required | search and fetch are free, with rate limits |
you |
yes | yes | Required | $100 one-time credit plus 100 searches per day |
“Optional” means Polyweb ships a built-in public credential, so the provider works with no setup. Add your own key for higher limits.
How to add a key
Section titled “How to add a key”Provider keys live in the encrypted vault, never in .env. After you get a key from the vendor, add it in the dashboard under Keys and pools, put it in a key pool, and bind the pool to your project. See Provider keys and pools.
Good for plain web results (search_type: "web") or query-driven context sized for an LLM (search_type: "llm_context"). Brave has no fetch.
Get a key. Create an account in the Brave Search API dashboard and subscribe to a plan, even to use the free credits.
Search options. search_type (web or llm_context), api_version, country, search_lang, ui_lang, offset (0 to 9), freshness, safesearch (off, moderate, strict), spellcheck, text_decorations, result_filter, units (metric, imperial), goggles, extra_snippets, summary, enable_rich_callback, include_fetch_metadata, operators, no_cache, location.
Context options for llm_context only: maximum_number_of_urls, maximum_number_of_tokens, maximum_number_of_snippets, maximum_number_of_tokens_per_url, maximum_number_of_snippets_per_url, context_threshold_mode (strict, balanced, lenient, disabled), enable_local, enable_source_metadata.
Quirks.
limitbecomescount: up to 20 forweb, up to 50 forllm_context.ui_lang,offset,summary,text_decorationsandresult_filterwork only withweb. Sendingsummarywithllm_contextfails validation.result_filteracceptsdiscussions,faq,infobox,news,query,summarizer,videos,webandlocations.gogglestakes one to three entries.locationmaps to Brave’sX-Loc-*headers. Givelatitudeandlongitudetogether.
{ "query": "fusion power progress", "limit": 10, "routing": {"mode": "prefer", "providers": ["brave"], "allow_fallback": true}, "providerOptions": { "brave": {"search_type": "llm_context", "maximum_number_of_tokens": 4096} }}Good for semantic search, deep research queries and pulling page contents in the same call.
Get a key. Sign up at dashboard.exa.ai. Free credits need no card.
Search options. type (instant, fast, auto, deep-lite, deep, deep-reasoning), category (company, publication, news, personal site, financial report, people), include_domains, exclude_domains, start_published_date, end_published_date, moderation, additional_queries (1 to 10), user_location, compliance (hipaa), output_schema, objective, system_prompt, user_identifier, contents.
contents accepts text (boolean or {max_characters}), highlights (boolean or {query, highlights_per_url, num_sentences, highlights_text_length}), summary (boolean or {query, max_characters}), extras (links, image_links, rich_image_links, rich_links, code_blocks), livecrawl_timeout, max_age_hours, snapshot_as_of, subpages (0 to 100), subpage_target, compliance, user_identifier.
Fetch options. The same extraction fields without the contents wrapper: text, highlights, summary, extras, livecrawl_timeout, max_age_hours, snapshot_as_of, subpages, subpage_target, compliance, user_identifier.
Quirks. limit becomes numResults. deep-lite, deep and deep-reasoning have lower vendor rate limits than instant, fast and auto. Streaming is not exposed.
{ "url": "https://example.com/report", "routing": {"mode": "prefer", "providers": ["exa"], "allow_fallback": true}, "providerOptions": {"exa": {"text": {"max_characters": 5000}}}}Firecrawl
Section titled “Firecrawl”Good for clean markdown from hard pages, with optional browser actions and structured extraction. Search can scrape each result too.
Get a key. Sign up at firecrawl.dev. The free plan needs no card.
Search options. sources (web, images, news, alexandria), domain_tools, tool_detail (compact, summary, full), categories (developer, gov, research, pdf, as strings or {type} objects), include_domains, exclude_domains, tbs, location, country, safe, timeout, ignore_invalid_urls, highlights, enterprise (one-element list: anon or zdr), scrape_options, threat_protection.
Fetch options. formats, only_main_content, only_clean_content, include_tags, exclude_tags, max_age, min_age, headers, wait_for, mobile, skip_tls_verification, timeout, parsers (pdf, image), actions, location, remove_base64_images, block_ads, proxy, store_in_cache, lockdown, check_prompt_injection, redact_pii, profile, zero_data_retention, domain_tools, tool_detail.
Quirks.
formatstakes strings or objects withtype,prompt,schema,selector,attributes,full_page,quality,viewport,mode,questionandquery.include_domainsandexclude_domainsare mutually exclusive.govcannot be combined with another category.threat_protectionis a search option. Fetch rejects it as an unknown field.scrape_optionsaccepts the fetch fields above for each result.- Only Search and Scrape are exposed. Crawl, batch scrape, monitors and agents are not.
{ "url": "https://example.com/docs", "routing": {"mode": "prefer", "providers": ["firecrawl"], "allow_fallback": true}, "providerOptions": {"firecrawl": {"formats": ["markdown"], "only_main_content": true}}}Keenable
Section titled “Keenable”Good for trying Polyweb with no signup. It works keyless, and a key adds a monthly allowance and removes the hourly cap.
Get a key. Optional. Create one in the Keenable console.
Search options. mode (pro or realtime), site, acquired_after, acquired_before, published_after, published_before, query_time, snippet_max_length (180 to 10000).
Fetch options. live (boolean, request a fresh page instead of an indexed copy), prompt (up to 2000 characters, guides extraction).
Quirks. limit becomes max_results, and max_chars is passed to the vendor. realtime mode and live fetches can cost more than one credit per call.
{ "query": "solar panel prices", "limit": 5, "routing": {"mode": "prefer", "providers": ["keenable"], "allow_fallback": true}, "providerOptions": {"keenable": {"mode": "pro", "snippet_max_length": 500}}}Parallel
Section titled “Parallel”Good when you can describe the goal in words. You give an objective and keyword search_queries, and Parallel returns excerpts.
Get a key. Create an account at platform.parallel.ai.
Search options. search_queries, objective, mode (turbo, fast, basic, advanced), max_chars_total, session_id, client_model, advanced_settings.
advanced_settings holds source_policy (include_domains, exclude_domains, after_date), fetch_policy (max_age_seconds of at least 600, timeout_seconds, disable_cache_fallback), excerpt_settings.max_chars_per_result, location and max_results.
Fetch options. objective, search_queries, max_chars_total, session_id, client_model, and advanced_settings with fetch_policy, excerpt_settings.max_chars_per_result and full_content (boolean or {max_chars_per_result}). Fetch uses Parallel Extract, and Polyweb turns the single url into the vendor’s URL list.
Quirks.
- A non-zero top-level
extra_bundlesis rejected withbad_request. See Request options. - Parallel supports OAuth keys, but that grant only reads the account balance (
balance:read). An OAuth key cannot servesearchorfetch, and a binding of one cannot enable either.
{ "query": "perovskite solar cell efficiency", "limit": 5, "routing": {"mode": "prefer", "providers": ["parallel"], "allow_fallback": true}, "providerOptions": { "parallel": {"objective": "Find recent efficiency records", "mode": "fast"} }}Tavily
Section titled “Tavily”Good for agent-oriented search with depth, topic and date controls. It works keyless for search and fetch.
Get a key. Optional. Sign up at tavily.com. Keys start with tvly-.
Search options. search_depth (basic, advanced, fast, ultra-fast), chunks_per_source (1 to 3), topic (general, news, finance), time_range (day, week, month, year, d, w, m, y), start_date, end_date, days, include_domains, exclude_domains, include_answer (boolean, basic or advanced), include_raw_content (boolean, markdown or text), include_images, include_image_descriptions, include_published_date, filter_by_published_date, include_domains_mode (restrict or prefer), language, filter_by_language, safe_search, auto_parameters, include_favicon, exact_match, country.
Fetch options. extract_depth (basic or advanced), format (markdown or text), query, chunks_per_source, include_images, include_favicon, timeout (1 to 60 seconds).
Quirks. The shared mode supplies the default depth, and an explicit search_depth wins. Conflicting basic and advanced values are rejected. Polyweb sets the endpoint, max_results, URL list and usage reporting itself. Crawl, map and research are not exposed.
{ "query": "fusion power news", "limit": 5, "routing": {"mode": "prefer", "providers": ["tavily"], "allow_fallback": true}, "providerOptions": {"tavily": {"search_depth": "advanced", "topic": "news"}}}Tinyfish
Section titled “Tinyfish”Good when you want search and fetch without a per-call charge. Both calls need a key.
Get a key. Create one at agent.tinyfish.ai. No card is needed to start.
Search options. purpose (up to 2000 characters), location, language, include_domains, exclude_domains, recency_minutes, after_date, before_date, domain_type (web, news, research_paper), pub_year_min, pub_year_max, page (zero-based, 0 to 10).
Fetch options. purpose, format (markdown, html, json), links, image_links, iframe_links, ttl, per_url_timeout_ms (1 to 110000), if_none_match, if_modified_since, include_etag_and_last_modified, include_selectors (1 to 20), exclude_selectors (1 to 20), highlights.
highlights accepts query, max_snippets (1 to 20), max_characters (100 to 20000) and include_full_page_text.
Quirks.
- Tinyfish has no result-count parameter. It returns its own page size (currently 10), and
limittrims the list. recency_minutescannot be combined withafter_dateorbefore_date.pub_year_minmust not exceedpub_year_max.max_charstrims the content after the fetch. Each fetch sends one URL.
{ "query": "perovskite efficiency 2026", "limit": 5, "routing": {"mode": "prefer", "providers": ["tinyfish"], "allow_fallback": true}, "providerOptions": {"tinyfish": {"domain_type": "research_paper", "pub_year_min": 2023}}}You.com
Section titled “You.com”Good for web search where you control how much page text comes back: short highlights or full pages.
Get a key. Create an account at you.com/platform. Keys look like ydc-sk-....
Search options. freshness, offset (0 to 9), country, language, safesearch (off, moderate, strict), knowledge (core), include_domains, exclude_domains, boost_domains, strict_operators, extraction, crawl_timeout (1 to 60), livecrawl (web, news, all), livecrawl_formats (html, markdown).
extraction accepts mode (highlights or full_page), source (blend, cache, fetch), highlights.total_max_tokens (1024 to 8192) and full_page.extraction_formats (html, markdown).
Fetch options. formats (markdown, html, metadata), crawl_timeout (1 to 60), max_age.
Quirks.
limitbecomescount.include_domainsandexclude_domainscannot be combined.boost_domainscannot be combined withinclude_domains.highlightssettings needextraction.mode: "highlights", andfull_pagesettings needextraction.mode: "full_page".livecrawlis deprecated by You.com but still accepted.
{ "query": "open source vector databases", "limit": 5, "routing": {"mode": "prefer", "providers": ["you"], "allow_fallback": true}, "providerOptions": {"you": {"extraction": {"mode": "highlights"}}}}