# Composio Search

Composio Search provides comprehensive web search across travel (flights, hotels, events), e-commerce (Amazon, Walmart, shopping), financial markets, news, academic research, images, and location services.

- **Category:** ai agents
- **Auth:** NO_AUTH
- **Composio Managed App Available?** N/A
- **Tools:** 23
- **Triggers:** 0
- **Slug:** `COMPOSIO_SEARCH`
- **Version:** 20260316_00

## Tools

### Amazon Product Search

**Slug:** `COMPOSIO_SEARCH_AMAZON`

Search Amazon for products across different country marketplaces. This tool searches Amazon's product catalog with support for multiple international Amazon domains/marketplaces. Each domain serves a different country with local pricing, currency, shipping options, and product availability. Perfect for product research, international price comparison, and finding products available in specific countries. Returns product details, pricing in local currency, ratings, reviews, and seller information. Examples: query="gaming laptop" + amazon_domain="amazon.com" for US marketplace query="coffee maker" + amazon_domain="amazon.de" for German marketplace query="iPhone 15" + amazon_domain="amazon.co.uk" for UK marketplace with GBP pricing

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Product search query for Amazon. Use natural language or specific product names. |
| `amazon_domain` | string | No | Amazon marketplace domain based on country. Defaults to amazon.com. Different domains serve different countries and currencies. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio DuckDuckGo Search

**Slug:** `COMPOSIO_SEARCH_DUCK_DUCK_GO`

The DuckDuckGoSearch class utilizes the Composio DuckDuckGo Search API to perform searches, focusing on web information and details. It leverages the DuckDuckGo search engine via the Composio DuckDuckGo Search API to retrieve relevant web data based on the provided query.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The search query for the Composio DuckDuckGo Search API, specifying the search topic. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Google Events Search

**Slug:** `COMPOSIO_SEARCH_EVENT`

Search for upcoming events, concerts, festivals, conferences, and other activities. Supports location-based search (city, neighborhood, address), date filtering (today, tomorrow, weekend, next week/month), virtual event discovery, international search with 100+ languages and countries, and pagination. If results are sparse or events_results_state is 'Fully empty', treat as limited coverage and try COMPOSIO_SEARCH_WEB instead of retrying. Rate limit: ~2 requests/second; apply exponential backoff (1s, 2s, 4s) on 429 errors. Examples: "Tech conferences" in "San Francisco, CA" with gl="us" and hl="en" | "Virtual networking events" with htichips="event_type:Virtual-Event,date:next_week" | "Music festivals" in "London, UK" with gl="uk" and hl="en"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gl` | string | No | Country code for the search region (ISO 3166-1 alpha-2). Determines which country's events to prioritize. |
| `hl` | string | No | Language code for search interface and results (ISO 639-1). Controls the language of event descriptions and interface. |
| `query` | string | Yes | The search query for events, specifying the event topic. Must be non-empty and include a specific event type (e.g., 'concert', 'festival'); empty or overly generic values like 'events' may trigger 'Invalid parameters' errors or return noisy results. |
| `start` | integer | No | Result offset for pagination. Each page typically contains 10 results. Use multiples of 10 for page navigation. Stop paginating when a page returns no new items to avoid unbounded loops on sparse results. |
| `htichips` | string | No | Advanced event filters. Multiple filters can be combined with commas for precise event discovery. Only the listed date and event_type values are supported; unsupported or arbitrary values silently return no results. Relative date values (e.g., 'today', 'tomorrow') resolve against UTC, so account for timezone offset near midnight. |
| `location` | string | No | Geographic location to search for events. Use city-level specificity for best results. If omitted, search uses proxy location. Avoid 'City, Country' format - use just city names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Exa Answer

**Slug:** `COMPOSIO_SEARCH_EXA_ANSWER`

Get answers with citations using the Exa API. DEPRECATED: Use COMPOSIO_SEARCH_WEB instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | The user message content for the Exa answer API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Similarlinks

**Slug:** `COMPOSIO_SEARCH_EXA_SIMILARLINK`

Perform a search to find similar links and retrieve a list of relevant results. The search can optionally return contents.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `url` | string | Yes | The url for which you would like to find similar links. For e.g. 'https://slatestarcodex.com/2014/07/30/meditations-on-moloch/', 'https://ww.google.com/' |
| `type` | string | No | The type of search: 'keyword', 'neural', or 'magic'. For e.g. 'neural', 'keyword', 'magic'. |
| `category` | string | No |  A data category to focus on, with higher comprehensivity and data cleanliness. Categories right now include company, research paper, news, github, tweet, movie, song, personal site, and pdf |
| `numResults` | integer | No | Number of search results to return. For e.g. 10, 20, 30. |
| `endCrawlDate` | string | No | Results will include links crawled before this date. For e.g. '2023-01-01T00:00:00Z', '2023-01-15T00:00:00Z', '2023-02-01T00:00:00Z'. |
| `useAutoprompt` | boolean | No | If true, your query will be converted to an Composio Similarlinks query. For e.g. True, False, True. |
| `excludeDomains` | array | No | List of domains to exclude in the search. For e.g. ['example.com'], ['news.com'], ['blog.com']. |
| `includeDomains` | array | No | List of domains to include in the search. For e.g. ['example.com'], ['news.com'], ['blog.com']. |
| `startCrawlDate` | string | No | Results will include links crawled after this date. For e.g. '2023-01-01T00:00:00Z', '2023-01-15T00:00:00Z', '2023-02-01T00:00:00Z'. |
| `endPublishedDate` | string | No | Only links published before this date will be returned. For e.g. '2023-01-01', '2023-01-15', '2023-02-01'. |
| `startPublishedDate` | string | No | Only links published after this date will be returned. For e.g. '2023-01-01', '2023-01-15', '2023-02-01'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch URL Content

**Slug:** `COMPOSIO_SEARCH_FETCH_URL_CONTENT`

Fetch and extract clean, readable page text (markdown) from public web pages (HTML content) using the Exa API. Use when you need to retrieve actual content from search results or documentation links to extract setup steps, requirements, or citations. Only works with web page URLs - does not support direct links to images, PDFs, or other binary files.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | boolean | No | Include extracted markdown text content from the page. Defaults to true. |
| `urls` | array | Yes | List of public URLs to web pages (HTML content) to fetch content from. URLs must be valid and publicly accessible. Do not use direct links to images (.jpg, .png, .gif), PDFs, or other binary files - use web page URLs only. Also accepts a single URL string. |
| `extras` | object | No | Additional content options like imageLinks or links counts (e.g., {'imageLinks': 3, 'links': 5}). |
| `summary` | string | No | Include AI-generated summary of the page content. Can be boolean or object with query/schema options. |
| `max_characters` | integer | No | Maximum number of characters to extract from each page. Maps to text.maxCharacters in Exa API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Finance Search

**Slug:** `COMPOSIO_SEARCH_FINANCE`

Get real-time stock prices, market data, financial news, and company information with historical analysis. Retrieves stock quotes, market indices, cryptocurrency prices, exchange rates, and financial news. Supports discrete time windows (1D, 5D, 1M, 6M, YTD, 1Y, 5Y, MAX) for historical analysis. Returns numeric time-series graph data, summary information, and key events (6M+ windows only). Always verify finance_results_state in the response — HTTP 200 with status='Success' can still return empty data. Derived indicators (MACD, moving averages) are not included and must be computed from returned price series. Examples: query="AAPL:NASDAQ" + window="1Y" for Apple's 1-year chart query="GOOGL:NASDAQ" + window="6M" + hl="en" for Alphabet with news events query="WMT:NYSE" + window="MAX" for Walmart's full history query="BTC-USD" for Bitcoin query="EUR-USD" for Euro/USD rate

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hl` | string | No | Language code for financial interface and data (ISO 639-1). Defaults to English if unset; set explicitly for non-English locales. |
| `query` | string | Yes | Financial search query. Supported formats: (1) Stocks: 'SYMBOL:EXCHANGE' (e.g., 'AAPL:NASDAQ', 'WMT:NYSE') or just 'SYMBOL' for major US stocks. (2) Indices: '.DJI:INDEXDJX' (Dow Jones), '.INX:INDEXSP' (S&P 500), '.IXIC:INDEXNASDAQ' (NASDAQ Composite) - common names like 'Dow Jones', 'S&P 500', 'NASDAQ' are auto-converted. (3) Cryptocurrencies: 'SYMBOL-USD' format (e.g., 'BTC-USD', 'ETH-USD'). (4) Currency pairs: 'BASE-QUOTE' format (e.g., 'EUR-USD', 'GBP-USD'). (5) ETFs: ticker symbol (e.g., 'SPY', 'QQQ'). Use exact ticker formats only — natural-language names or ambiguous strings cause empty results even on success. Currency pairs require hyphens (EUR-USD not EUR/USD). Crypto must use SYMBOL-USD format; bare symbols may return wrong instrument type. Commodities (e.g., GOLD) may not resolve; use ETF proxies (e.g., GLD) instead. |
| `window` | string | No | Time range for financial charts and data. Controls the historical period displayed. Only the listed discrete values are accepted; arbitrary values are unsupported. Key events (earnings, dividends, splits) are only returned for windows of 6M or longer. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Flight Search

**Slug:** `COMPOSIO_SEARCH_FLIGHTS`

Search for flights with comprehensive pricing, schedule, and airline information. This tool finds available flights between cities/airports with detailed pricing, multiple airlines, departure/arrival times, flight duration, and booking options. Supports round-trip and one-way searches, multiple passenger types (adults, children, infants), different travel classes, and international pricing in various currencies. Perfect for travel planning, price comparison, and finding the best flight options. You can use either: 1. Natural language query: query="Lahore to San Francisco" or query="NYC to London on March 15, 2025" 2. Structured parameters: departure_id="JFK", arrival_id="LAX", outbound_date="2025-12-25" Examples: query="Lahore to San Francisco" query="New York to London on December 25, 2025" departure_id="JFK" + arrival_id="LAX" + outbound_date="2025-12-25" + return_date="2025-12-30" departure_id="LGA" + arrival_id="LHR" + outbound_date="2025-06-01" + adults=2

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gl` | string | No | Country code for results (ISO 3166-1 alpha-2). |
| `hl` | string | No | Language code for results (ISO 639-1). |
| `query` | string | No | Natural language flight search query. Examples: 'Lahore to San Francisco', 'NYC to London on March 15', 'flights from Tokyo to Paris'. If provided, the system will parse this to extract departure/arrival airports and dates. You can also provide structured parameters directly instead. |
| `adults` | integer | No | Number of adult passengers (18+ years old). |
| `infants` | integer | No | Number of infant passengers (under 2 years old). |
| `children` | integer | No | Number of child passengers (2-11 years old). |
| `currency` | string | No | Currency for pricing (3-letter currency code). |
| `arrival_id` | string | No | Destination airport IATA code (3-letter uppercase code, e.g., SFO, LHR, CDG). Required if 'query' is not provided. |
| `return_date` | string | No | Return date in YYYY-MM-DD format. Must not be in the past and must be after outbound_date. Leave empty for one-way flights. |
| `departure_id` | string | No | Origin airport IATA code (3-letter uppercase code, e.g., JFK, LAX, LHE). Required if 'query' is not provided. |
| `travel_class` | integer | No | Travel class preference. 1 = Economy, 2 = Premium Economy, 3 = Business, 4 = First Class. |
| `outbound_date` | string | No | Departure date in YYYY-MM-DD format (e.g., 2025-12-25). Must not be in the past. If not provided and query doesn't contain a date, defaults to 7 days from today. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Google Maps Search

**Slug:** `COMPOSIO_SEARCH_GOOGLE_MAPS`

Performs a location-specific search via the Composio Google Maps Search API, returning results under `results.local_results` (multi-place queries) or `results.place_results` (single place); always handle both branches. Fields like `opening_hours`, `phone`, `rating`, and `user_reviews` may be absent — treat missing values as unknown. Check `business_status`: closed businesses (`CLOSED_PERMANENTLY`, `TEMPORARILY_CLOSED`) can appear in results; filter for `OPERATIONAL` entries. Rate-limit calls to ~1 req/sec; HTTP 429 / `OVER_QUERY_LIMIT` indicates quota exhaustion. `gps_coordinates` may appear under `place_results` or inside individual `local_results` items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | The query you want to search. Include city/region and category to avoid ambiguous or wrong-region results (e.g., 'pizza downtown Chicago' not 'pizza'). Verify name and full address before selecting a result. |
| `ll` | string | No | GPS coordinates for the search, formatted as '@latitude,longitude,zoom_level'. Required when using pagination. Results are limited to the visible map viewport defined by these coordinates; shift coordinates across adjacent viewports to cover nearby areas. |
| `start` | integer | No | Used for pagination. Each page returns ~20 `local_results`; increment `start` by 20 and follow `serpapi_pagination.next` tokens to retrieve subsequent pages. Omitting pagination silently misses results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Groq Chat Completion

**Slug:** `COMPOSIO_SEARCH_GROQ_CHAT`

Execute fast LLM inference using Groq's optimized hardware and API. Groq provides ultra-fast inference for open-source models including LLaMA 3, Mixtral, and Gemma via OpenAI-compatible chat completions API. Use cases: real-time chat, content generation, Q&A, code generation, summarization, translation. For structured JSON output, instruct the model explicitly to return valid JSON with no markdown code fences or prose; validate with json.loads — batches of 150+ items are prone to malformed JSON. Strip triple-backtick wrappers from code/JSON outputs before parsing. Always validate that the response contains at least one choice with non-empty message.content before downstream use. On HTTP 429 or 5xx errors, use exponential backoff with a small retry cap; limit concurrency to ~3 concurrent calls. Model-reported character/word counts are approximate — verify independently when strict limits matter.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string ("llama-3.3-70b-versatile" | "llama-3.1-8b-instant" | "llama-3.2-1b-preview" | "llama-3.2-3b-preview" | "llama-3.2-11b-text-preview" | "llama-3.2-90b-text-preview" | "mixtral-8x7b-32768" | "gemma2-9b-it" | "gemma-7b-it" | "openai/gpt-oss-120b" | "groq/compound") | No | The Groq model to use for inference. Different models offer different capabilities, speeds, and context windows. |
| `top_p` | number | No | Nucleus sampling parameter. Controls diversity by considering only the top P probability mass. Range: 0.0 to 1.0. |
| `stream` | boolean | No | Whether to stream the response back incrementally or return it all at once. |
| `messages` | array | Yes | An array of message objects that form the conversation history. Each message must have a role (system, user, or assistant) and content. Place persona and system instructions in a role:'system' message; keep system messages concise to avoid crowding out user content. Pre-summarize lengthy inputs into short bullets to stay within the model's context window and avoid silent truncation. |
| `max_tokens` | integer | No | The maximum number of tokens to generate in the response. If not specified, the model will generate up to its natural stopping point. For large outputs, set this high enough and check finish_reason in the response; if finish_reason is 'length', the output was truncated — generate large content in section-level chunks and stitch results. |
| `temperature` | number | No | Controls randomness in the output. Lower values (e.g., 0.2) make output more focused and deterministic, while higher values (e.g., 1.5) make it more creative and random. Range: 0.0 to 2.0. For structured, analytic, or predictive tasks use 0.5–0.8; high values produce inconsistent patterns. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hotel Search

**Slug:** `COMPOSIO_SEARCH_HOTELS`

Search for hotels and vacation rentals with comprehensive filtering and pricing. Returns results under results.properties and results.ads; extract numeric pricing from rate_per_night.extracted_lowest, total_rate.extracted_lowest, or extracted_price (fields vary by property). Deduplicate across sections using property_token. Additional pages available via serpapi_pagination.next_page_token. Start with minimal filters — combining max_price, min_price, hotel_class, free_cancellation, gl, or hl too strictly can return empty results. Examples: q="New York" + check_in_date="2025-06-01" + check_out_date="2025-06-05" + adults=2 q="Paris" + check_in_date="2025-03-15" + check_out_date="2025-03-18" + min_price=100 + max_price=300 q="Tokyo" + check_in_date="2025-12-20" + check_out_date="2025-12-25" + hotel_class="4,5" + sort_by=3

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Location for hotel search. Can be city, neighborhood, landmark, or specific hotel name. If search_information.total_results is very low, broaden by adding state, region, or country to reduce ambiguity. |
| `gl` | string | No | Country code for results (ISO 3166-1 alpha-2). |
| `hl` | string | No | Language code for results (ISO 639-1). |
| `adults` | integer | No | Number of adult guests. |
| `sort_by` | integer | No | Sort hotels by criteria. Valid values: 3 (lowest price), 8 (highest rating), 13 (most reviewed). Default is relevance. |
| `children` | integer | No | Number of children. |
| `currency` | string | No | Currency for pricing (3-letter currency code). |
| `max_price` | integer | No | Maximum price per night filter. |
| `min_price` | integer | No | Minimum price per night filter. |
| `hotel_class` | string | No | Filter by hotel star rating. Use comma-separated values for multiple ratings. |
| `check_in_date` | string | Yes | Check-in date in YYYY-MM-DD format. Must be a future date. |
| `check_out_date` | string | Yes | Check-out date in YYYY-MM-DD format. Must be after check-in date. |
| `vacation_rentals` | boolean | No | Include vacation rentals (Airbnb-style properties) in results. |
| `free_cancellation` | boolean | No | Filter for hotels with free cancellation. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Image Search

**Slug:** `COMPOSIO_SEARCH_IMAGE`

The ImageSearch class performs an image search using the Composio Image Search API, targeting image metadata and URLs (not binary data) via Google Images. Returns results under `results.images_results`; each entry exposes `original` (full resolution) and `thumbnail` (low resolution) URLs — verify URLs are publicly accessible before passing downstream. Check `license_details_url` per result before commercial reuse. The number of results is controlled by `num` (1–100, default 20). For >100 images, paginate using `serpapi_pagination.next`. Rate limit: throttle to ~1–2 calls/second; apply exponential backoff on HTTP 429.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `num` | integer | No | Number of image results to return. Defaults to 20 if not specified. Google typically returns up to 100 results. |
| `query` | string | Yes | The search query for the Composio Image Search API, specifying the image topic. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio News Search

**Slug:** `COMPOSIO_SEARCH_NEWS`

Search for the latest news articles and current events with smart filtering. Searches news-oriented sources only (not blogs, docs, or company pages). Results nest under `data.results.news_results`; a 200 response with empty `news_results` or `news_results_state: 'Fully empty'` means no results — broaden query or `when` window. Auto-correction (`showing_results_for`) can silently redirect queries; verify returned articles match intended topic. Only first page returned by default; follow `pagination.next` for more pages. Supports 100+ languages and countries. Use advanced operators like 'site:' for publisher filtering directly in your query. Examples: query="artificial intelligence" + when="w" for past week's AI news query="climate change" + gl="us" + hl="en" for US climate news query="business news" + when="d" for today's business news query="site:bbc.com tesla" + when="d" for today's BBC Tesla news

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gl` | string | No | Country code for news region (ISO 3166-1 alpha-2). Determines which country's news sources to prioritize. |
| `hl` | string | No | Language code for news interface and results. Most languages use ISO 639-1 codes (e.g., 'en', 'es'). Chinese requires regional variants: 'zh-cn' (Simplified) or 'zh-tw' (Traditional). Standalone 'zh' is normalized to 'zh-cn'. |
| `when` | string | No | Time filter for news articles. 'd' = past day, 'w' = past week, 'm' = past month, 'y' = past year. These are coarse UTC-based buckets with no finer granularity; filter `published_at` client-side for precise ranges. Combining narrow queries with strict `when` filters frequently returns zero results; broaden either before concluding no data exists. |
| `query` | string | No | Search query for news articles. Supports advanced operators like 'site:', 'when:', etc. Cannot be used with topic_token, publication_token, or story_token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### NPPES NPI Registry Lookup

**Slug:** `COMPOSIO_SEARCH_NPPESNPI_LOOKUP`

Lookup US healthcare provider details from the CMS NPI Registry (NPPES) using an NPI number or search filters. Returns normalized structured fields including provider name, taxonomy/specialty, addresses, identifiers, and endpoints. Use this for deterministic, authoritative provider lookups when you need structured NPI/NPPES data rather than noisy web search results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City name associated with provider address. |
| `skip` | integer | No | Number of records to skip for pagination. Used with limit for paginated results. |
| `limit` | integer | No | Maximum number of records to return per request. Range: 1 to 1200. Default: 10. |
| `state` | string | No | Two-letter state abbreviation. Cannot be used as sole search criterion - must be combined with other parameters. |
| `number` | string | No | 10-digit National Provider Identifier number for exact lookup. When provided, performs exact NPI match. |
| `version` | string | No | API version number. Required by the CMS NPPES API. |
| `last_name` | string | No | Individual provider last name. Supports trailing wildcard (*) after minimum 2 characters. Applies to Individual Providers (NPI-1) only. |
| `first_name` | string | No | Individual provider first name. Supports trailing wildcard (*) after minimum 2 characters. Applies to Individual Providers (NPI-1) only. |
| `postal_code` | string | No | 5 or 9 digit postal code. Supports trailing wildcard (*) after minimum 2 characters. |
| `enumeration_type` | string ("NPI-1" | "NPI-2" | "ind" | "org") | No | Provider classification type: 'NPI-1' or 'ind' for Individual providers, 'NPI-2' or 'org' for Organizational providers. |
| `organization_name` | string | No | Organization name for searching organizational providers. Supports trailing wildcard (*) after minimum 2 characters. |
| `taxonomy_description` | string | No | Healthcare provider taxonomy description or specialty. Supports wildcard (*) after minimum 2 characters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Scholar Search

**Slug:** `COMPOSIO_SEARCH_SCHOLAR`

Scholar API scrapes Google Scholar search results via SERP API, returning academic papers and scholarly articles. Results are nested under results.organic_results; access this key explicitly and use defensive .get() patterns as fields like DOI, citation_count, and author may be absent. Many results are paywalled — rely on titles, abstracts, and snippets when full text is unavailable. Results may include duplicate preprint and journal versions of the same work — deduplicate by DOI or normalized title. Only the first page is returned by default; follow pagination.next for additional pages. PDF links appear only under organic_results[n].resources where file_format is 'PDF'. Results may lag on recent work.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The search query for the Composio Scholar Search API, specifying the academic topic or paper title. Prefer short, focused keyphrases over long quoted phrases to avoid zero results. Include author names, field qualifiers, or year ranges to improve relevance and avoid topic drift. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio SEC EDGAR Filings Search

**Slug:** `COMPOSIO_SEARCH_SEC_FILINGS`

Retrieve authoritative SEC EDGAR filing metadata (10-K/10-Q/8-K etc.) and construct primary document/index URLs using SEC's public data APIs. Use when you need to search for company financial filings, annual reports, quarterly reports, or other SEC-mandated disclosures.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of filings to return. Defaults to 10. |
| `form_types` | array | No | List of SEC form types to filter by (e.g., ['10-K', '10-Q', '8-K']). If not specified, all form types are returned. |
| `ticker_or_cik` | string | Yes | Stock ticker symbol (e.g., 'AAPL', 'MSFT') or 10-digit Central Index Key (CIK). If a ticker is provided, it will be automatically resolved to CIK. |
| `include_document_links` | boolean | No | Whether to include filing document URLs (index page and primary document) for downstream reading. Defaults to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Shopping Search

**Slug:** `COMPOSIO_SEARCH_SHOPPING`

Search for products with advanced price filtering, location targeting, and deal discovery. This tool provides comprehensive product search with price range filtering, geographic targeting for local retailers, sorting by price (low to high, high to low), and filtering for free shipping or sale items. Perfect for product research, price comparison, finding deals, and discovering where to buy items. Returns product details, prices, availability, seller information, and reviews. Examples: query="gaming laptop" + min_price=800 + max_price=1500 + sort_by=1 query="running shoes" + location="Seattle, WA" + free_shipping=True query="coffee maker" + on_sale=True + gl="us"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `gl` | string | No | Country code for shopping region (ISO 3166-1 alpha-2). |
| `hl` | string | No | Language code for shopping interface (ISO 639-1). |
| `query` | string | Yes | Product search query. Use anything you would search for on Google Shopping. |
| `on_sale` | boolean | No | Filter to show only products that are currently on sale. |
| `sort_by` | integer | No | Sort products by price. 1 = Price: low to high, 2 = Price: high to low. |
| `location` | string | No | Geographic location for shopping search. Use city names for best results. Helps find local retailers and pricing. |
| `max_price` | integer | No | Maximum price filter in USD (integer value). Only show products at or below this price. |
| `min_price` | integer | No | Minimum price filter in USD (integer value). Only show products at or above this price. |
| `free_shipping` | boolean | No | Filter to show only products with free shipping. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio LLM Search

**Slug:** `COMPOSIO_SEARCH_TAVILY`

The Composio LLM Search class serves as a gateway to the Composio LLM Search API, allowing users to perform searches across a broad range of content with multiple filtering options. It accommodates complex queries, including both keyword and phrase searches, with additional parameters to fine-tune the search results. This class enables a tailored search experience by allowing users to specify the search depth, include images and direct answers, apply domain-specific filters, and control the number of results returned. It is designed to meet various search requirements, from quick lookups to in-depth research.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The primary text used to perform the search. This is the key term or phrase that the search functionality will use to retrieve results. |
| `max_results` | integer | No | The maximum number of search results that the API should return. This limits the size of the result set for the query. |
| `search_depth` | string ("basic" | "advanced") | No | Determines the thoroughness of the search. A 'basic' search might perform a quick and broad search, while 'advanced' could indicate a more intensive and narrow search. |
| `include_answer` | boolean | No | Specifies whether to include direct answers to the query in the search results. Useful for queries that expect a factual answer. |
| `include_images` | boolean | No | A flag indicating whether to include images in the search results. When set to true, the response will contain image links related to the query. |
| `exclude_domains` | array | No | A list of domain names to exclude from the search results. Results from these domains will not be included, which can help to filter out unwanted content. |
| `include_domains` | array | No | A list of domain names to include in the search results. Only results from these specified domains will be returned, allowing for targeted searches. |
| `include_raw_content` | boolean | No | If set to true, the search results will include the raw content from the search index, which may contain unprocessed HTML or text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Trends Search

**Slug:** `COMPOSIO_SEARCH_TRENDS`

Discover trending topics, search patterns, and popularity data. Analyzes search interest over time, compares multiple topics, and identifies rising trends. Returns normalized 0–100 relative interest indices (not absolute search volumes) via interest_over_time.timeline_data; values are objects with 'extracted_value' (may be string '<1'). The final timeline entry may have partial_data=true for incomplete periods. Data typically lags ~24–48 hours. Response schema varies by data_type: TIMESERIES returns timeline_data, GEO_MAP returns regional breakdowns, RELATED_TOPICS/RELATED_QUERIES return topic/query lists — parse accordingly. Ideal for market research, content planning, and SEO analysis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `date` | string | No | Time range for trend data. Predefined ranges: 'now 1-H' (past hour), 'now 4-H' (past 4 hours), 'now 1-d' (past day), 'now 7-d' (past 7 days), 'today 1-m' (past 30 days), 'today 3-m' (past 90 days), 'today 12-m' (past 12 months), 'today 5-y' (past 5 years), 'all' (2004 to present). Custom ranges: 'yyyy-mm-dd yyyy-mm-dd' (e.g., '2021-10-15 2022-05-25') or with hours 'yyyy-mm-ddThh yyyy-mm-ddThh' (e.g., '2022-05-19T10 2022-05-24T22'). Defaults to past 12 months if not specified. Windows longer than ~90 days aggregate data weekly, smoothing short-lived spikes; use shorter windows (e.g., 'now 7-d') alongside longer ones to detect brief surges. |
| `query` | string | Yes | The search query for the Google Trends Search API, specifying the trend topic. For TIMESERIES, accepts up to 5 comma-separated topics (e.g., 'Python,JavaScript,Rust'); exceeding 5 returns 'Maximum number of queries accepted is 5'. Overly specific or multi-concept queries may return empty results (organic_results_state='Fully empty') — use concise single-concept keywords. |
| `data_type` | string | No | Parameter defines the type of search you want to do. Available options: TIMESERIES - Interest over time (default) - Accepts both single and multiple queries per search. GEO_MAP - Compared breakdown by region - Accepts only multiple queries per search. GEO_MAP_0 - Interest by region - Accepts only single query per search. RELATED_TOPICS - Related topics - Accepts only single query per search. RELATED_QUERIES - Related queries - Accepts only single query per search. TIMESERIES accepts 1–5 comma-separated queries; GEO_MAP_0, RELATED_TOPICS, and RELATED_QUERIES accept only a single query — mismatching causes validation errors or empty results. Response schema differs per type; branch parsing logic accordingly. RELATED_TOPICS/RELATED_QUERIES with multi-term queries may silently fall back to TIMESERIES — verify results.search_parameters.data_type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### TripAdvisor Travel Search

**Slug:** `COMPOSIO_SEARCH_TRIP_ADVISOR`

Search TripAdvisor for travel recommendations and itinerary planning without authentication (unlike TRIPADVISOR_CONTENT_API_SEARCH_LOCATIONS and other TripAdvisor tools requiring an active connection). Searches attractions, restaurants, hotels, tours, and activities. Returns detailed ratings, reviews, photos, and traveler recommendations. Response data is nested under results → locations. Results may include evergreen articles alongside specific venues; verify result type before use in itineraries. Examples: query="things to do in Paris" + ssrc="A" for attractions only | query="best restaurants in Tokyo" + ssrc="r" | query="hotels in Bali" + ssrc="h" + tripadvisor_domain="tripadvisor.com"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ssrc` | string ("a" | "r" | "A" | "h" | "g" | "v" | "f") | No | Search filter to specify result type. 'a' = All Results, 'r' = Restaurants, 'A' = Things to Do, 'h' = Hotels, 'g' = Destinations, 'v' = Vacation Rentals, 'f' = Forums. |
| `query` | string | Yes | Search query for TripAdvisor. Use natural language to search for attractions, restaurants, hotels, or activities. Include destination name, region, and travel context for best results. Ambiguous queries may return multiple location matches — validate both title and location fields before selecting a result. |
| `tripadvisor_domain` | string | No | TripAdvisor domain for different countries. Defaults to tripadvisor.com for international results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Vercel AI Gateway Chat

**Slug:** `COMPOSIO_SEARCH_VERCEL_AI_CHAT`

Execute LLM inference through Vercel AI Gateway's unified API. Provides access to OpenAI, Anthropic, Google, and AWS Bedrock models. Supports LaunchDarkly config for model selection, fallbacks, and routing. Use cases: - Multi-provider AI applications with automatic fallback - Content generation and text analysis - Question answering and code generation

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `model` | string | Yes | The AI model to use. Format: provider/model-name. |
| `top_p` | number | No | Nucleus sampling parameter. Range: 0.0 to 1.0. |
| `gateway` | object | No | Vercel AI Gateway routing configuration. |
| `headers` | object | No | Custom headers for the request (e.g., anthropic-beta). |
| `messages` | array | Yes | An array of message objects that form the conversation history. |
| `max_tokens` | integer | No | Maximum number of tokens to generate. |
| `temperature` | number | No | Controls randomness. Lower = more focused, higher = more creative. Range: 0.0 to 2.0. |
| `provider_options` | object | No | Provider-specific options (cacheControl, thinking, reasoningConfig, etc.). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Walmart Product Search

**Slug:** `COMPOSIO_SEARCH_WALMART`

Search Walmart for products with price filtering. This tool searches Walmart's product catalog including groceries, electronics, clothing, home goods, pharmacy, and auto services. Supports basic price range filtering for finding products within budget. Results may appear under response.data.results.shopping_results or data.products — do not hardcode a single response shape. Results mix sponsored and organic listings; check ad/sponsorship flags when ranking. Some products omit fields like bought_last_month; handle nulls in sorting logic. Examples: query="wireless headphones" + min_price=50 + max_price=200 query="gaming laptop" + max_price=800 query="organic coffee" + min_price=10

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Product search query for Walmart. Use natural language or specific product names. |
| `max_price` | number | No | Maximum price filter in USD. |
| `min_price` | number | No | Minimum price filter in USD. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Composio Web Search

**Slug:** `COMPOSIO_SEARCH_WEB`

Perform a web search using the Exa API. Returns a nested structure: narrative summary under results.answer, sources under results.citations (and optionally results.organic_results). Prioritize results.citations as primary evidence over results.answer, which can be vague. Only indexes publicly available content — no paywalled, login-gated, or private content. No date filters enforced; include recency terms in query and verify dates in snippets manually. Throttle to ~1–2 requests/second; bursty queries trigger HTTP 429. Large responses may be stored remotely — use structure_info to locate results.answer and results.citations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | The search query for the Composio Exa API. Must be non-empty; using any other parameter name (e.g., 'q') causes an invalid-request error. Include qualifiers (year, region, platform, intent) for better results — broad queries return generic content; excessive site: or quoted-term filters can return zero results. Add disambiguating terms (city, role, domain) when searching for people or organizations with common names. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
