diff --git a/pages/toolkits/_meta.ts b/pages/toolkits/_meta.ts index f06f2a3e8..65c8228da 100644 --- a/pages/toolkits/_meta.ts +++ b/pages/toolkits/_meta.ts @@ -21,6 +21,9 @@ export default { development: { title: "Developer Tools", }, + search: { + title: "Search Tools", + }, "-- Submit your toolkit": { type: "separator", title: "Submit your toolkit", diff --git a/pages/toolkits/search/google_finance.mdx b/pages/toolkits/search/google_finance.mdx new file mode 100644 index 000000000..64a1891de --- /dev/null +++ b/pages/toolkits/search/google_finance.mdx @@ -0,0 +1,124 @@ +# Google Finance + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google Finance toolkit lets you fetch real-time and historical stock data with ease. Use these tools to build intelligent agents and applications that fetch: + +- Stock summary data. +- Historical stock data. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + + + If you need an action that's not listed here, please [contact us](mailto:contact@arcade.dev) to request a new tool, or [create your own tools](/home/build-tools/create-a-toolkit). + + +## GetStockSummary + +Retrieve summary information for a given stock using the Google Finance API via SerpAPI. This tool returns the current price and price change from the most recent trading day. + +**Parameters** + +- **`ticker_symbol`** _(string, required)_: The stock ticker, e.g., 'GOOG'. +- **`exchange_identifier`** _(string, required)_: The market identifier, e.g., 'NASDAQ'. + +
+ + +## GetStockHistoricalData + +Fetch historical data for a given stock over a defined time window. This tool returns the stock's price and volume data along with key events when available. + +**Parameters** + +- **`ticker_symbol`** _(string, required)_: The stock ticker, e.g., 'GOOG'. +- **`exchange_identifier`** _(string, required)_: The market identifier, e.g., 'NASDAQ' or 'NYSE'. +- **`window`** _(enum ([GoogleFinanceWindow](/toolkits/search/reference#googlefinancewindow)), optional, defaults to ONE_MONTH)_: Time window for the graph data. + +
+ + +## Auth + +The Arcade Google Finance toolkit uses the [SerpAPI](https://serpapi.com/) to get stock data from Google Finance. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + \ No newline at end of file diff --git a/pages/toolkits/search/google_flights.mdx b/pages/toolkits/search/google_flights.mdx new file mode 100644 index 000000000..f979678fa --- /dev/null +++ b/pages/toolkits/search/google_flights.mdx @@ -0,0 +1,135 @@ +# Google Flights + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google Flights toolkit lets you search for flights with ease. Use these tools to build intelligent agents and applications that: + +- Search for round-trip flights. +- Search for one-way flights. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + +## SearchRoundtripFlights + +Retrieve flight search results using Google Flights. + +**Parameters** + +- **`departure_airport_code`** _(string, required)_: The departure airport code. An uppercase 3-letter code. +- **`arrival_airport_code`** _(string, required)_: The arrival airport code. An uppercase 3-letter code. +- **`outbound_date`** _(string, required)_: Flight outbound date in YYYY-MM-DD format. +- **`return_date`** _(string, optional)_: Flight return date in YYYY-MM-DD format. +- **`currency_code`** _(string, optional)_: Currency of the returned prices. Defaults to 'USD'. +- **`travel_class`** _(enum ([GoogleFlightsTravelClass](/toolkits/search/reference#googleflightstravelclass)), optional)_: Travel class of the flight. Defaults to 'ECONOMY'. +- **`num_adults`** _(int, optional)_: Number of adult passengers. Defaults to 1. +- **`num_children`** _(int, optional)_: Number of child passengers. Defaults to 0. +- **`max_stops`** _(enum ([GoogleFlightsMaxStops](/toolkits/search/reference#googleflightsmaxstops)), optional)_: Maximum number of stops (layovers) for the flight. Defaults to any number of stops. +- **`sort_by`** _(enum ([GoogleFlightsSortBy](/toolkits/search/reference#googleflightssortby)), optional)_: The sorting order of the results. Defaults to TOP_FLIGHTS. + +
+ + +## SearchOneWayFlights + +Retrieve flight search results for a one-way flight using Google Flights. + +**Parameters** + +- **`departure_airport_code`** _(string, required)_: The departure airport code. An uppercase 3-letter code. +- **`arrival_airport_code`** _(string, required)_: The arrival airport code. An uppercase 3-letter code. +- **`outbound_date`** _(string, required)_: Flight departure date in YYYY-MM-DD format. +- **`currency_code`** _(string, optional)_: Currency of the returned prices. Defaults to 'USD'. +- **`travel_class`** _(enum ([GoogleFlightsTravelClass](/toolkits/search/reference#googleflightstravelclass)), optional)_: Travel class of the flight. Defaults to 'ECONOMY'. +- **`num_adults`** _(int, optional)_: Number of adult passengers. Defaults to 1. +- **`num_children`** _(int, optional)_: Number of child passengers. Defaults to 0. +- **`max_stops`** _(enum ([GoogleFlightsMaxStops](/toolkits/search/reference#googleflightsmaxstops)), optional)_: Maximum number of stops (layovers) for the flight. Defaults to any number of stops. +- **`sort_by`** _(enum ([GoogleFlightsSortBy](/toolkits/search/reference#googleflightssortby)), optional)_: The sorting order of the results. Defaults to TOP_FLIGHTS. + +
+ + +## Auth + +The Arcade Google Flights toolkit uses the [SerpAPI](https://serpapi.com/) to search for flights from Google Flights. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + \ No newline at end of file diff --git a/pages/toolkits/search/google_hotels.mdx b/pages/toolkits/search/google_hotels.mdx new file mode 100644 index 000000000..a26d3c8c5 --- /dev/null +++ b/pages/toolkits/search/google_hotels.mdx @@ -0,0 +1,92 @@ +# Google Hotels + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google Hotels toolkit lets you search for hotels with ease. Use this tool to build intelligent agents and applications that search for hotels worldwide. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + +## SearchHotels + +Retrieve hotel search results using the Google Hotels API. + +**Parameters** + +- **`location`** _(string, required)_: Location to search for hotels, e.g., a city name, a state, etc. +- **`check_in_date`** _(string, required)_: Check-in date in YYYY-MM-DD format. +- **`check_out_date`** _(string, required)_: Check-out date in YYYY-MM-DD format. +- **`query`** _(string, optional)_: Anything that would be used in a regular Google Hotels search. +- **`currency`** _(string, optional)_: Currency code for prices. Defaults to 'USD'. +- **`min_price`** _(int, optional)_: Minimum price per night. Defaults to no minimum. +- **`max_price`** _(int, optional)_: Maximum price per night. Defaults to no maximum. +- **`num_adults`** _(int, optional)_: Number of adults per room. Defaults to 2. +- **`num_children`** _(int, optional)_: Number of children per room. Defaults to 0. +- **`sort_by`** _(enum ([GoogleHotelsSortBy](/toolkits/search/reference#googlehotelssortby)), optional)_: The sorting order of the results. Defaults to RELEVANCE. +- **`num_results`** _(int, optional)_: Maximum number of results to return. Defaults to 5. Max 20. + +
+ + +## Auth + +The Arcade Google Hotels toolkit uses the [SerpAPI](https://serpapi.com/) to search for hotels from Google Hotels. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + diff --git a/pages/toolkits/search/google_jobs.mdx b/pages/toolkits/search/google_jobs.mdx new file mode 100644 index 000000000..e8b9317e9 --- /dev/null +++ b/pages/toolkits/search/google_jobs.mdx @@ -0,0 +1,104 @@ +# Google Jobs + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google Jobs toolkit provides a pre-built set of tools for interacting with Google Jobs. These tools make it easy to build agents and AI apps that can: + +- Search for job openings with Google Jobs. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-toolkit). + + +## SearchJobs + +
+ + +Search for job openings with Google Jobs. + +**Parameters** + +- **`query`** _(string, required)_ Search query. Provide a job title, company name, and/or any keywords in general representing what kind of jobs the user is looking for. +- **`location`** _(string, optional, Defaults to `None`)_ Location to search for jobs. E.g. 'United States' or 'New York, NY'. Defaults to None. +- **`language`** _(string, optional, Defaults to 'en' English)_ 2-character language code to use in the Google Jobs search. +- **`limit`** _(int, optional, Defaults to 10)_ Maximum number of results to retrieve. Defaults to 10 (max supported by the API). +- **`next_page_token`** _(string, optional, Defaults to `None`)_ Next page token to paginate results. Defaults to None (start from the first page). + +## Auth + +The Arcade Google Jobs toolkit uses the [SerpAPI](https://serpapi.com/) to get job data from Google Jobs. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + + +## Default parameters + +Language is configurable through environment variables. When set, they will be used as default for Google Jobs tools. + +Providing a different value as `language` argument in a tool call will override the default value. + +**Language** + +The language code is a 2-character code that determines the language in which the API will search and return news articles. There are two environment variables: + +- `ARCADE_GOOGLE_LANGUAGE`: a default value for all Google search tools. If not set, defaults to 'en' (English). +- `ARCADE_GOOGLE_JOBS_LANGUAGE`: a default value for the jobs search tools. If not set, defaults to `ARCADE_GOOGLE_LANGUAGE`. + +A list of supported language codes can be found [here](/toolkits/search/reference#languagecodes). diff --git a/pages/toolkits/search/google_maps.mdx b/pages/toolkits/search/google_maps.mdx new file mode 100644 index 000000000..20ca73fc9 --- /dev/null +++ b/pages/toolkits/search/google_maps.mdx @@ -0,0 +1,178 @@ +# Google Maps + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google Maps toolkit provides a pre-built set of tools for interacting with Google Maps. These tools make it easy to build agents and AI apps that can: + +- Get directions to a location using an address or latitude/longitude. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-toolkit). + + +## GetDirectionsBetweenAddresses + +
+ + +Get directions between two addresses. + +**Parameters** + +- **`origin_address`** _(string, required)_ The origin address. Example: '123 Main St, New York, NY 10001'. +- **`destination_address`** _(string, required)_ The destination address. Example: '456 Main St, New York, NY 10001'. +- **`language`** _(string, optional, Defaults to 'en' English)_ 2-character language code to use in the Google Maps search. A list of supported language codes can be found [here](/toolkits/search/reference#languagecodes). +- **`country`** _(string, optional, Defaults to `None`)_ 2-character country code to use in the Google Maps search. A list of supported country codes can be found [here](/toolkits/search/reference#countrycodes). +- **`distance_unit`** _(enum ([GoogleMapsDistanceUnit](/toolkits/search/reference#googlemapsdistanceunit)), optional, Defaults to `GoogleMapsDistanceUnit.KM`)_ Distance unit to use in the Google Maps search. +- **`travel_mode`** _(enum ([GoogleMapsTravelMode](/toolkits/search/reference#googlemapstravelmode)), optional, Defaults to `GoogleMapsTravelMode.BEST`)_ Travel mode to use in the Google Maps search. + +## GetDirectionsBetweenCoordinates + +
+ + +Get directions between two latitude/longitude coordinates. + +**Parameters** + +- **`origin_latitude`** _(float, required)_ The origin latitude. +- **`origin_longitude`** _(float, required)_ The origin longitude. +- **`destination_latitude`** _(float, required)_ The destination latitude. +- **`destination_longitude`** _(float, required)_ The destination longitude. +- **`language`** _(string, optional, Defaults to 'en' English)_ 2-character language code to use in the Google Maps search. A list of supported language codes can be found [here](/toolkits/search/reference#languagecodes). +- **`country`** _(string, optional, Defaults to `None`)_ 2-character country code to use in the Google Maps search. A list of supported country codes can be found [here](/toolkits/search/reference#countrycodes). +- **`distance_unit`** _(enum ([GoogleMapsDistanceUnit](/toolkits/search/reference#googlemapsdistanceunit)), optional, Defaults to `GoogleMapsDistanceUnit.KM`)_ Distance unit to use in the Google Maps search. +- **`travel_mode`** _(enum ([GoogleMapsTravelMode](/toolkits/search/reference#googlemapstravelmode)), optional, Defaults to `GoogleMapsTravelMode.BEST`)_ Travel mode to use in the Google Maps search. + +## Auth + +The Arcade Google Maps toolkit uses the [SerpAPI](https://serpapi.com/) to get directions. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + + +## Default parameters + +Language, Country, Distance Unit, and Travel Mode are configurable through environment variables. When set, they will be used as default for Google Maps tools. + +Providing a different value as `language`, `country`, `distance_unit`, or `travel_mode` argument in a tool call will override the default value. + +**Language** + +The language code is a 2-character code that determines the language in which the API will search and return directions. There are two environment variables: + +- `ARCADE_GOOGLE_LANGUAGE`: a default value for all Google tools. If not set, defaults to 'en' (English). +- `ARCADE_GOOGLE_MAPS_LANGUAGE`: a default value for the Google Maps tools. If not set, defaults to `ARCADE_GOOGLE_LANGUAGE`. + +A list of supported language codes can be found [here](/toolkits/search/reference#languagecodes). + +**Country** + +The country code is a 2-character code that determines the country in which the API will search for directions: + +- `ARCADE_GOOGLE_MAPS_COUNTRY`: a default value for the Google Maps tools. If not set, defaults to `None`. + +A list of supported country codes can be found [here](/toolkits/search/reference#countrycodes). + +**Distance Unit** + +The distance unit is a string that determines the unit of distance to use in the Google Maps search: + +- `ARCADE_GOOGLE_MAPS_DISTANCE_UNIT`: a default value for the Google Maps tools. If not set, defaults to `GoogleMapsDistanceUnit.KM`. + +A list of supported distance units can be found [here](/toolkits/search/reference#googlemapsdistanceunit). + +**Travel Mode** + +The travel mode is a string that determines the mode of travel to use in the Google Maps search: + +- `ARCADE_GOOGLE_MAPS_TRAVEL_MODE`: a default value for the Google Maps tools. If not set, defaults to `GoogleMapsTravelMode.BEST`. + +A list of supported travel modes can be found [here](/toolkits/search/reference#googlemapstravelmode). +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + diff --git a/pages/toolkits/search/google_news.mdx b/pages/toolkits/search/google_news.mdx new file mode 100644 index 000000000..cbfa3ddaf --- /dev/null +++ b/pages/toolkits/search/google_news.mdx @@ -0,0 +1,115 @@ +# Google News + +import ToolInfo from "@/components/ToolInfo"; +import Badges from "@/components/Badges"; +import TabbedCodeBlock from "@/components/TabbedCodeBlock"; +import TableOfContents from "@/components/TableOfContents"; + + + + + +The Arcade Google News toolkit provides a pre-built set of tools for interacting with Google News. These tools make it easy to build agents and AI apps that can: + +- Search for news stories with Google News. + +## Install + +```bash +pip install arcade_search +``` + + + pip installing the toolkit is only needed if you are [self-hosting](/home/install/overview) Arcade. You do not need to install the toolkit if you're using Arcade Cloud. + + +## Available Tools + + + + + If you need to perform an action that's not listed here, you can [get in touch + with us](mailto:contact@arcade.dev) to request a new tool, or [create your + own tools](/home/build-tools/create-a-toolkit). + + +## SearchNews + +
+ + +Search for news stories with Google News. + +**Parameters** + +- **`query`** _(string, required)_ Keywords to search for news articles. E.g. 'Apple launches new iPhone'. +- **`country_code`** _(string, optional, Defaults to `None`)_ 2-character country code to search for news articles. E.g. 'us' (United States). Defaults to `None` (search news globally). +- **`language`** _(string, optional, Defaults to 'en' English)_ 2-character language code to search for news articles. E.g. 'en' (English). Defaults to 'en' (English). +- **`limit`** _(int, optional, Defaults to `None`)_ Maximum number of news articles to return. Defaults to None (returns all results found by the API). + +## Auth + +The Arcade Google News toolkit uses the [SerpAPI](https://serpapi.com/) to get news data from Google News. + +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + + +## Default parameters + +Language and Country are configurable through environment variables. When set, they will be used as default for Google News tools. + +Providing a different value as `language_code` or `country_code` argument in the tool call will override the default value. + +**Language** + +The language code is a 2-character code that determines the language in which the API will search and return news articles. There are two environment variables: + +- `ARCADE_GOOGLE_LANGUAGE`: a default value for all Google search tools. If not set, defaults to 'en' (English). +- `ARCADE_GOOGLE_NEWS_LANGUAGE`: a default value for the news search tools. If not set, defaults to `ARCADE_GOOGLE_LANGUAGE`. + +A list of supported language codes can be found [here](/toolkits/search/reference#languagecodes). + +**Country** + +The country code is a 2-character code that determines the country in which the API will search for news articles. There are two environment variables: + +- `ARCADE_GOOGLE_NEWS_COUNTRY`: a default value for the `SearchNews` tool. If not set, defaults to `None` (search news globally). + +A list of supported country codes can be found [here](/toolkits/search/reference#countrycodes). diff --git a/pages/toolkits/development/search.mdx b/pages/toolkits/search/google_search.mdx similarity index 67% rename from pages/toolkits/development/search.mdx rename to pages/toolkits/search/google_search.mdx index a18dddc15..2ef519f12 100644 --- a/pages/toolkits/development/search.mdx +++ b/pages/toolkits/search/google_search.mdx @@ -1,4 +1,4 @@ -# Search +# Google Search import ToolInfo from "@/components/ToolInfo"; import Badges from "@/components/Badges"; @@ -51,18 +51,18 @@ pip install arcade_search label: "Call the Tool Directly", content: { Python: [ - "/examples/integrations/toolkits/search/search_google_example_call_tool.py", + "/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.py", ], - JavaScript: ["/examples/integrations/toolkits/search/search_google_example_call_tool.js"], + JavaScript: ["/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.js"], }, }, { label: "Execute the Tool with OpenAI", content: { Python: [ - "/examples/integrations/toolkits/search/search_google_example_llm_oai.py", + "/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.py", ], - JavaScript: ["/examples/integrations/toolkits/search/search_google_example_llm_oai.js"], + JavaScript: ["/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.js"], }, }, ]} @@ -70,11 +70,6 @@ pip install arcade_search Search Google using SerpAPI and return organic search results. -**Auth:** - -- **Environment Variables Required:** - - `SERP_API_KEY`: Your SerpAPI API key. - **Parameters** - **`query`** _(string, required)_ The search query. @@ -82,8 +77,10 @@ Search Google using SerpAPI and return organic search results. ## Auth -The Arcade Search toolkit uses the [SerpAPI](https://serpapi.com/) to connect to users' Google accounts. - -**Global Environment Variables:** +The Arcade Google Search toolkit uses the [SerpAPI](https://serpapi.com/) to get get results from a Google search. -- `SERP_API_KEY`: Your SerpAPI API key. +- **Secret:** + - `SERP_API_KEY`: Your SerpAPI API key. + + Setting the `SERP_API_KEY` secret is only required if you are [self-hosting](/home/install/overview) Arcade. If you're using Arcade Cloud, the secret is already set for you. To manage your secrets, go to the [Secrets page](https://api.arcade.dev/dashboard/auth/secrets) in the Arcade Dashboard. + diff --git a/pages/toolkits/search/reference.mdx b/pages/toolkits/search/reference.mdx new file mode 100644 index 000000000..f6e280760 --- /dev/null +++ b/pages/toolkits/search/reference.mdx @@ -0,0 +1,358 @@ +# Reference for Search Toolkit + +## GoogleMapsDistanceUnit + +Distance unit to use in the Google Maps search. + +- **`KM`**: Kilometers. +- **`MI`**: Miles. + +## GoogleMapsTravelMode + +Travel mode to use in the Google Maps search. + +- **`BEST`**: Best mode. +- **`DRIVING`**: Driving mode. +- **`MOTORCYCLE`**: Motorcycle mode. +- **`PUBLIC_TRANSPORTATION`**: Public transportation mode. +- **`WALKING`**: Walking mode. +- **`BICYCLE`**: Bicycling mode. +- **`FLIGHT`**: Flight mode. + + +## GoogleFinanceWindow + +Defines the time window for fetching stock data from Google Finance. + +- **`ONE_DAY`**: Represents a 1-day time window. +- **`FIVE_DAYS`**: Represents a 5-day time window. +- **`ONE_MONTH`**: Represents a 1-month time window. +- **`SIX_MONTHS`**: Represents a 6-month time window. +- **`YEAR_TO_DATE`**: Represents the time from the start of the year to the current date. +- **`ONE_YEAR`**: Represents a 1-year time window. +- **`FIVE_YEARS`**: Represents a 5-year time window. +- **`MAX`**: Represents the maximum available time window. + + + +## GoogleFlightsMaxStops + +Defines the maximum number of stops for flights. + +- **`ANY`**: Any number of stops is allowed. +- **`NONSTOP`**: Only nonstop flights are allowed. +- **`ONE`**: Only flights with one stop are allowed. +- **`TWO`**: Only flights with two stops are allowed. + +## GoogleFlightsSortBy + +Defines the sorting options for flight search results. + +- **`TOP_FLIGHTS`**: Sort by the best available flights. +- **`PRICE`**: Sort by the lowest price. +- **`DEPARTURE_TIME`**: Sort by the earliest departure time. +- **`ARRIVAL_TIME`**: Sort by the earliest arrival time. +- **`DURATION`**: Sort by the shortest flight duration. +- **`EMISSIONS`**: Sort by the lowest carbon emissions. + +## GoogleFlightsTravelClass + +Defines the travel class options for flights. + +- **`ECONOMY`**: Economy class. +- **`PREMIUM_ECONOMY`**: Premium economy class. +- **`BUSINESS`**: Business class. +- **`FIRST`**: First class. + + +## GoogleHotelsSortBy + +Defines the sorting options for hotel search results. + +- **`RELEVANCE`**: Sort by the most relevant results. +- **`LOWEST_PRICE`**: Sort by the lowest price available. +- **`HIGHEST_RATING`**: Sort by the highest customer ratings. +- **`MOST_REVIEWED`**: Sort by the most reviewed hotels. + + +## LanguageCodes + +- **`ar`**: Arabic +- **`bn`**: Bengali +- **`da`**: Danish +- **`de`**: German +- **`el`**: Greek +- **`en`**: English +- **`es`**: Spanish +- **`fi`**: Finnish +- **`fr`**: French +- **`hi`**: Hindi +- **`hu`**: Hungarian +- **`id`**: Indonesian +- **`it`**: Italian +- **`ja`**: Japanese +- **`ko`**: Korean +- **`ms`**: Malay +- **`nl`**: Dutch +- **`no`**: Norwegian +- **`pcm`**: Nigerian Pidgin +- **`pl`**: Polish +- **`pt`**: Portuguese +- **`pt-br`**: Portuguese (Brazil) +- **`pt-pt`**: Portuguese (Portugal) +- **`ru`**: Russian +- **`sv`**: Swedish +- **`tl`**: Filipino +- **`tr`**: Turkish +- **`uk`**: Ukrainian +- **`zh`**: Chinese +- **`zh-cn`**: Chinese (Simplified) +- **`zh-tw`**: Chinese (Traditional) + + +## CountryCodes + +- **`af`**: Afghanistan +- **`al`**: Albania +- **`dz`**: Algeria +- **`as`**: American Samoa +- **`ad`**: Andorra +- **`ao`**: Angola +- **`ai`**: Anguilla +- **`aq`**: Antarctica +- **`ag`**: Antigua and Barbuda +- **`ar`**: Argentina +- **`am`**: Armenia +- **`aw`**: Aruba +- **`au`**: Australia +- **`at`**: Austria +- **`az`**: Azerbaijan +- **`bs`**: Bahamas +- **`bh`**: Bahrain +- **`bd`**: Bangladesh +- **`bb`**: Barbados +- **`by`**: Belarus +- **`be`**: Belgium +- **`bz`**: Belize +- **`bj`**: Benin +- **`bm`**: Bermuda +- **`bt`**: Bhutan +- **`bo`**: Bolivia +- **`ba`**: Bosnia and Herzegovina +- **`bw`**: Botswana +- **`bv`**: Bouvet Island +- **`br`**: Brazil +- **`io`**: British Indian Ocean Territory +- **`bn`**: Brunei Darussalam +- **`bg`**: Bulgaria +- **`bf`**: Burkina Faso +- **`bi`**: Burundi +- **`kh`**: Cambodia +- **`cm`**: Cameroon +- **`ca`**: Canada +- **`cv`**: Cape Verde +- **`ky`**: Cayman Islands +- **`cf`**: Central African Republic +- **`td`**: Chad +- **`cl`**: Chile +- **`cn`**: China +- **`cx`**: Christmas Island +- **`cc`**: Cocos (Keeling) Islands +- **`co`**: Colombia +- **`km`**: Comoros +- **`cg`**: Congo +- **`cd`**: Congo, the Democratic Republic of the +- **`ck`**: Cook Islands +- **`cr`**: Costa Rica +- **`ci`**: Cote D'ivoire +- **`hr`**: Croatia +- **`cu`**: Cuba +- **`cy`**: Cyprus +- **`cz`**: Czech Republic +- **`dk`**: Denmark +- **`dj`**: Djibouti +- **`dm`**: Dominica +- **`do`**: Dominican Republic +- **`ec`**: Ecuador +- **`eg`**: Egypt +- **`sv`**: El Salvador +- **`gq`**: Equatorial Guinea +- **`er`**: Eritrea +- **`ee`**: Estonia +- **`et`**: Ethiopia +- **`fk`**: Falkland Islands (Malvinas) +- **`fo`**: Faroe Islands +- **`fj`**: Fiji +- **`fi`**: Finland +- **`fr`**: France +- **`gf`**: French Guiana +- **`pf`**: French Polynesia +- **`tf`**: French Southern Territories +- **`ga`**: Gabon +- **`gm`**: Gambia +- **`ge`**: Georgia +- **`de`**: Germany +- **`gh`**: Ghana +- **`gi`**: Gibraltar +- **`gr`**: Greece +- **`gl`**: Greenland +- **`gd`**: Grenada +- **`gp`**: Guadeloupe +- **`gu`**: Guam +- **`gt`**: Guatemala +- **`gg`**: Guernsey +- **`gn`**: Guinea +- **`gw`**: Guinea-Bissau +- **`gy`**: Guyana +- **`ht`**: Haiti +- **`hm`**: Heard Island and Mcdonald Islands +- **`va`**: Holy See (Vatican City State) +- **`hn`**: Honduras +- **`hk`**: Hong Kong +- **`hu`**: Hungary +- **`is`**: Iceland +- **`in`**: India +- **`id`**: Indonesia +- **`ir`**: Iran, Islamic Republic of +- **`iq`**: Iraq +- **`ie`**: Ireland +- **`im`**: Isle of Man +- **`il`**: Israel +- **`it`**: Italy +- **`je`**: Jersey +- **`jm`**: Jamaica +- **`jp`**: Japan +- **`jo`**: Jordan +- **`kz`**: Kazakhstan +- **`ke`**: Kenya +- **`ki`**: Kiribati +- **`kp`**: Korea, Democratic People's Republic of +- **`kr`**: Korea, Republic of +- **`kw`**: Kuwait +- **`kg`**: Kyrgyzstan +- **`la`**: Lao People's Democratic Republic +- **`lv`**: Latvia +- **`lb`**: Lebanon +- **`ls`**: Lesotho +- **`lr`**: Liberia +- **`ly`**: Libyan Arab Jamahiriya +- **`li`**: Liechtenstein +- **`lt`**: Lithuania +- **`lu`**: Luxembourg +- **`mo`**: Macao +- **`mk`**: Macedonia, the Former Yugosalv Republic of +- **`mg`**: Madagascar +- **`mw`**: Malawi +- **`my`**: Malaysia +- **`mv`**: Maldives +- **`ml`**: Mali +- **`mt`**: Malta +- **`mh`**: Marshall Islands +- **`mq`**: Martinique +- **`mr`**: Mauritania +- **`mu`**: Mauritius +- **`yt`**: Mayotte +- **`mx`**: Mexico +- **`fm`**: Micronesia, Federated States of +- **`md`**: Moldova, Republic of +- **`mc`**: Monaco +- **`mn`**: Mongolia +- **`me`**: Montenegro +- **`ms`**: Montserrat +- **`ma`**: Morocco +- **`mz`**: Mozambique +- **`mm`**: Myanmar +- **`na`**: Namibia +- **`nr`**: Nauru +- **`np`**: Nepal +- **`nl`**: Netherlands +- **`an`**: Netherlands Antilles +- **`nc`**: New Caledonia +- **`nz`**: New Zealand +- **`ni`**: Nicaragua +- **`ne`**: Niger +- **`ng`**: Nigeria +- **`nu`**: Niue +- **`nf`**: Norfolk Island +- **`mp`**: Northern Mariana Islands +- **`no`**: Norway +- **`om`**: Oman +- **`pk`**: Pakistan +- **`pw`**: Palau +- **`ps`**: Palestinian Territory, Occupied +- **`pa`**: Panama +- **`pg`**: Papua New Guinea +- **`py`**: Paraguay +- **`pe`**: Peru +- **`ph`**: Philippines +- **`pn`**: Pitcairn +- **`pl`**: Poland +- **`pt`**: Portugal +- **`pr`**: Puerto Rico +- **`qa`**: Qatar +- **`re`**: Reunion +- **`ro`**: Romania +- **`ru`**: Russian Federation +- **`rw`**: Rwanda +- **`sh`**: Saint Helena +- **`kn`**: Saint Kitts and Nevis +- **`lc`**: Saint Lucia +- **`pm`**: Saint Pierre and Miquelon +- **`vc`**: Saint Vincent and the Grenadines +- **`ws`**: Samoa +- **`sm`**: San Marino +- **`st`**: Sao Tome and Principe +- **`sa`**: Saudi Arabia +- **`sn`**: Senegal +- **`rs`**: Serbia +- **`sc`**: Seychelles +- **`sl`**: Sierra Leone +- **`sg`**: Singapore +- **`sk`**: Slovakia +- **`si`**: Slovenia +- **`sb`**: Solomon Islands +- **`so`**: Somalia +- **`za`**: South Africa +- **`gs`**: South Georgia and the South Sandwich Islands +- **`es`**: Spain +- **`lk`**: Sri Lanka +- **`sd`**: Sudan +- **`sr`**: Suriname +- **`sj`**: Svalbard and Jan Mayen +- **`sz`**: Swaziland +- **`se`**: Sweden +- **`ch`**: Switzerland +- **`sy`**: Syrian Arab Republic +- **`tw`**: Taiwan, Province of China +- **`tj`**: Tajikistan +- **`tz`**: Tanzania, United Republic of +- **`th`**: Thailand +- **`tl`**: Timor-Leste +- **`tg`**: Togo +- **`tk`**: Tokelau +- **`to`**: Tonga +- **`tt`**: Trinidad and Tobago +- **`tn`**: Tunisia +- **`tr`**: Turkiye +- **`tm`**: Turkmenistan +- **`tc`**: Turks and Caicos Islands +- **`tv`**: Tuvalu +- **`ug`**: Uganda +- **`ua`**: Ukraine +- **`ae`**: United Arab Emirates +- **`uk`**: United Kingdom +- **`gb`**: United Kingdom +- **`us`**: United States +- **`um`**: United States Minor Outlying Islands +- **`uy`**: Uruguay +- **`uz`**: Uzbekistan +- **`vu`**: Vanuatu +- **`ve`**: Venezuela +- **`vn`**: Viet Nam +- **`vg`**: Virgin Islands, British +- **`vi`**: Virgin Islands, U.S. +- **`wf`**: Wallis and Futuna +- **`eh`**: Western Sahara +- **`ye`**: Yemen +- **`zm`**: Zambia +- **`zw`**: Zimbabwe diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.js b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.js new file mode 100644 index 000000000..52644dc8f --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.js @@ -0,0 +1,20 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.GetStockHistoricalData"; + +const toolInput = { + ticker_symbol: "GOOG", + exchange_identifier: "NASDAQ", + window: "ONE_MONTH", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.py b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.py new file mode 100644 index 000000000..5adb32734 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_call_tool.py @@ -0,0 +1,19 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.GetStockHistoricalData" + +tool_input = { + "ticker_symbol": "GOOG", + "exchange_identifier": "NASDAQ", + "window": "ONE_MONTH", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.js new file mode 100644 index 000000000..ae5cf0c4b --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Get the stock historical data for Google on the NASDAQ exchange."; +const TOOL_NAME = "Search.GetStockHistoricalData"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.py new file mode 100644 index 000000000..a5c9376d8 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_historical_data_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Get the stock historical data for Google on the NASDAQ exchange." +TOOL_NAME = "Search.GetStockHistoricalData" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.js b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.js new file mode 100644 index 000000000..516ebbf73 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.js @@ -0,0 +1,19 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.GetStockSummary"; + +const toolInput = { + ticker_symbol: "GOOG", + exchange_identifier: "NASDAQ", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.py b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.py new file mode 100644 index 000000000..50a53cdc0 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_call_tool.py @@ -0,0 +1,18 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.GetStockSummary" + +tool_input = { + "ticker_symbol": "GOOG", + "exchange_identifier": "NASDAQ", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.js new file mode 100644 index 000000000..2043487a3 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Get the stock summary for Google on the NASDAQ exchange."; +const TOOL_NAME = "Search.GetStockSummary"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.py new file mode 100644 index 000000000..32ba6dbcb --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_finance/get_stock_summary_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Get the stock summary for Google on the NASDAQ exchange." +TOOL_NAME = "Search.GetStockSummary" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.js b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.js new file mode 100644 index 000000000..608781d66 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.js @@ -0,0 +1,26 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.SearchOneWayFlights"; + +const toolInput = { + departure_airport_code: "LAX", + arrival_airport_code: "SFO", + outbound_date: "2025-09-01", + currency_code: "USD", + travel_class: "ECONOMY", + num_adults: 1, + num_children: 0, + max_stops: "ANY", + sort_by: "TOP_FLIGHTS", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.py b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.py new file mode 100644 index 000000000..a8ea73094 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_call_tool.py @@ -0,0 +1,25 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.SearchOneWayFlights" + +tool_input = { + "departure_airport_code": "LAX", + "arrival_airport_code": "SFO", + "outbound_date": "2025-09-01", + "currency_code": "USD", + "travel_class": "ECONOMY", + "num_adults": 1, + "num_children": 0, + "max_stops": "ANY", + "sort_by": "TOP_FLIGHTS", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.js new file mode 100644 index 000000000..1c18d2717 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Search for one-way flights from Los Angeles to San Francisco on September 1st, 2025."; +const TOOL_NAME = "Search.SearchOneWayFlights"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.py new file mode 100644 index 000000000..2a9f612d9 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_one_way_flights_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Search for one-way flights from Los Angeles to San Francisco on September 1st, 2025." +TOOL_NAME = "Search.SearchOneWayFlights" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.js b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.js new file mode 100644 index 000000000..87efd073a --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.js @@ -0,0 +1,27 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.SearchRoundtripFlights"; + +const toolInput = { + departure_airport_code: "LAX", + arrival_airport_code: "SFO", + outbound_date: "2025-09-01", + return_date: "2025-09-05", + currency_code: "USD", + travel_class: "ECONOMY", + num_adults: 1, + num_children: 0, + max_stops: "ANY", + sort_by: "TOP_FLIGHTS", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.py b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.py new file mode 100644 index 000000000..e17f11ed3 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_call_tool.py @@ -0,0 +1,26 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.SearchRoundtripFlights" + +tool_input = { + "departure_airport_code": "LAX", + "arrival_airport_code": "SFO", + "outbound_date": "2025-09-01", + "return_date": "2025-09-05", + "currency_code": "USD", + "travel_class": "ECONOMY", + "num_adults": 1, + "num_children": 0, + "max_stops": "ANY", + "sort_by": "TOP_FLIGHTS", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.js new file mode 100644 index 000000000..d0a51cd6e --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Search for roundtrip flights from Los Angeles to San Francisco on September 1st, 2025, returning on September 5th, 2025."; +const TOOL_NAME = "Search.SearchRoundtripFlights"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.py new file mode 100644 index 000000000..076591c84 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_flights/search_roundtrip_flights_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Search for roundtrip flights from Los Angeles to San Francisco on September 1st, 2025, returning on September 5th, 2025." +TOOL_NAME = "Search.SearchRoundtripFlights" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.js b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.js new file mode 100644 index 000000000..c7282235a --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.js @@ -0,0 +1,27 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.SearchHotels"; + +const toolInput = { + location: "New York, NY", + check_in_date: "2025-09-01", + check_out_date: "2025-09-02", + query: "hotel", + currency: "USD", + min_price: 100, + max_price: 500, + num_adults: 2, + num_children: 0, + sort_by: "RELEVANCE", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.py b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.py new file mode 100644 index 000000000..dbcb4a982 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_call_tool.py @@ -0,0 +1,26 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.SearchHotels" + +tool_input = { + "location": "New York, NY", + "check_in_date": "2025-09-01", + "check_out_date": "2025-09-02", + "query": "hotel", + "currency": "USD", + "min_price": 100, + "max_price": 500, + "num_adults": 2, + "num_children": 0, + "sort_by": "RELEVANCE", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.js new file mode 100644 index 000000000..cbfa098ba --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Search for hotels in New York, NY for 2 adults on September 1st, 2025, and check out on September 2nd, 2025."; +const TOOL_NAME = "Search.SearchHotels"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.py new file mode 100644 index 000000000..c5e0e0b2f --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_hotels/search_hotels_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Search for hotels in New York, NY for 2 adults on September 1st, 2025, and check out on September 2nd, 2025." +TOOL_NAME = "Search.SearchHotels" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.js b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.js new file mode 100644 index 000000000..5c4c56478 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.js @@ -0,0 +1,21 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.SearchJobs"; + +const toolInput = { + query: "software engineer", + location: "United States", + language: "en", + limit: 10, +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.py b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.py new file mode 100644 index 000000000..bede86bf3 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_call_tool.py @@ -0,0 +1,20 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.SearchJobs" + +tool_input = { + "query": "software engineer", + "location": "United States", + "language": "en", + "limit": 10, +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.js new file mode 100644 index 000000000..23b900118 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Search for 'software engineer' job openings in the United States."; +const TOOL_NAME = "Search.SearchJobs"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.py new file mode 100644 index 000000000..5c7d1f9e1 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_jobs/search_jobs_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Search for 'software engineer' job openings in the United States." +TOOL_NAME = "Search.SearchJobs" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.js b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.js new file mode 100644 index 000000000..c08f7dd0f --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.js @@ -0,0 +1,21 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.GetDirectionsBetweenAddresses"; + +const toolInput = { + origin_address: "123 Main St, New York, NY 10001", + destination_address: "456 Main St, New York, NY 10001", + distance_unit: "KM", + travel_mode: "BEST", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.py b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.py new file mode 100644 index 000000000..a59d1a3ed --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_call_tool.py @@ -0,0 +1,20 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.GetDirectionsBetweenAddresses" + +tool_input = { + "origin_address": "123 Main St, New York, NY 10001", + "destination_address": "456 Main St, New York, NY 10001", + "distance_unit": "KM", + "travel_mode": "BEST", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.js new file mode 100644 index 000000000..a5a21414c --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Get directions between '123 Main St, New York, NY 10001' and '456 Main St, New York, NY 10001'."; +const TOOL_NAME = "Search.GetDirectionsBetweenAddresses"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.py new file mode 100644 index 000000000..f744cf894 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_addresses_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Get directions between '123 Main St, New York, NY 10001' and '456 Main St, New York, NY 10001'." +TOOL_NAME = "Search.GetDirectionsBetweenAddresses" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.js b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.js new file mode 100644 index 000000000..55e9e9e8f --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.js @@ -0,0 +1,23 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.GetDirectionsBetweenCoordinates"; + +const toolInput = { + origin_latitude: 37.7879, + origin_longitude: -122.4076, + destination_latitude: 37.8219, + destination_longitude: -122.4789, + distance_unit: "KM", + travel_mode: "BEST", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.py b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.py new file mode 100644 index 000000000..1a8627de6 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_call_tool.py @@ -0,0 +1,22 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.GetDirectionsBetweenCoordinates" + +tool_input = { + "origin_latitude": 37.7879, + "origin_longitude": -122.4076, + "destination_latitude": 37.8219, + "destination_longitude": -122.4789, + "distance_unit": "KM", + "travel_mode": "BEST", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.js new file mode 100644 index 000000000..fe97a0528 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.js @@ -0,0 +1,21 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = + "Get directions between the following coordinates: 37.7879, -122.4076 and 37.8219, -122.4789."; +const TOOL_NAME = "Search.GetDirectionsBetweenCoordinates"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.py new file mode 100644 index 000000000..288669c15 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_maps/get_directions_between_coordinates_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Get directions between the following coordinates: 37.7879, -122.4076 and 37.8219, -122.4789." +TOOL_NAME = "Search.GetDirectionsBetweenCoordinates" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.js b/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.js new file mode 100644 index 000000000..4a4c9fef1 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.js @@ -0,0 +1,18 @@ +import { Arcade } from "@arcadeai/arcadejs"; + +const client = new Arcade(); // Automatically finds the `ARCADE_API_KEY` env variable + +const USER_ID = "you@example.com"; +const TOOL_NAME = "Search.SearchNews"; + +const toolInput = { + query: "Apple's new iPhone", +}; + +const response = await client.tools.execute({ + tool_name: TOOL_NAME, + input: toolInput, + user_id: USER_ID, +}); + +console.log(response); diff --git a/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.py b/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.py new file mode 100644 index 000000000..0eb1e1393 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_news/search_news_example_call_tool.py @@ -0,0 +1,17 @@ +from arcadepy import Arcade + +client = Arcade() # Automatically finds the `ARCADE_API_KEY` env variable + +USER_ID = "you@example.com" +TOOL_NAME = "Search.SearchNews" + +tool_input = { + "query": "Apple's new iPhone", +} + +response = client.tools.execute( + tool_name=TOOL_NAME, + input=tool_input, + user_id=USER_ID, +) +print(response) diff --git a/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.js new file mode 100644 index 000000000..48f926f64 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.js @@ -0,0 +1,20 @@ +import OpenAI from "openai"; + +const USER_ID = "you@example.com"; +const PROMPT = "Search for news about 'Apple's new iPhone'."; +const TOOL_NAME = "Search.SearchNews"; + +const client = new OpenAI({ + baseURL: "https://api.arcade.dev", + apiKey: process.env.ARCADE_API_KEY, +}); + +const response = await client.chat.completions.create({ + messages: [{ role: "user", content: PROMPT }], + model: "gpt-4o-mini", + user: USER_ID, + tools: [TOOL_NAME], + tool_choice: "generate", +}); + +console.log(response.choices[0].message.content); diff --git a/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.py new file mode 100644 index 000000000..bfe82ef10 --- /dev/null +++ b/public/examples/integrations/toolkits/search/google_news/search_news_example_llm_oai.py @@ -0,0 +1,21 @@ +import os +from openai import OpenAI + +USER_ID = "you@example.com" +PROMPT = "Search for news about 'Apple's new iPhone'." +TOOL_NAME = "Search.SearchNews" + +client = OpenAI( + base_url="https://api.arcade.dev", api_key=os.environ.get("ARCADE_API_KEY") +) + +response = client.chat.completions.create( + messages=[ + {"role": "user", "content": PROMPT}, + ], + model="gpt-4o-mini", + user=USER_ID, + tools=[TOOL_NAME], + tool_choice="generate", +) +print(response.choices[0].message.content) diff --git a/public/examples/integrations/toolkits/search/search_google_example_call_tool.js b/public/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.js similarity index 100% rename from public/examples/integrations/toolkits/search/search_google_example_call_tool.js rename to public/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.js diff --git a/public/examples/integrations/toolkits/search/search_google_example_call_tool.py b/public/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.py similarity index 100% rename from public/examples/integrations/toolkits/search/search_google_example_call_tool.py rename to public/examples/integrations/toolkits/search/google_search/search_google_example_call_tool.py diff --git a/public/examples/integrations/toolkits/search/search_google_example_llm_oai.js b/public/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.js similarity index 100% rename from public/examples/integrations/toolkits/search/search_google_example_llm_oai.js rename to public/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.js diff --git a/public/examples/integrations/toolkits/search/search_google_example_llm_oai.py b/public/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.py similarity index 100% rename from public/examples/integrations/toolkits/search/search_google_example_llm_oai.py rename to public/examples/integrations/toolkits/search/google_search/search_google_example_llm_oai.py diff --git a/public/images/icons/google_finance.png b/public/images/icons/google_finance.png new file mode 100644 index 000000000..040a9f80f Binary files /dev/null and b/public/images/icons/google_finance.png differ diff --git a/public/images/icons/google_flights.png b/public/images/icons/google_flights.png new file mode 100644 index 000000000..719d21f74 Binary files /dev/null and b/public/images/icons/google_flights.png differ diff --git a/public/images/icons/google_hotels.png b/public/images/icons/google_hotels.png new file mode 100644 index 000000000..6ab88747b Binary files /dev/null and b/public/images/icons/google_hotels.png differ diff --git a/public/images/icons/google_jobs.png b/public/images/icons/google_jobs.png new file mode 100644 index 000000000..11210b6e3 Binary files /dev/null and b/public/images/icons/google_jobs.png differ diff --git a/public/images/icons/google_maps.png b/public/images/icons/google_maps.png new file mode 100644 index 000000000..7eb135e7f Binary files /dev/null and b/public/images/icons/google_maps.png differ diff --git a/public/images/icons/google_news.png b/public/images/icons/google_news.png new file mode 100644 index 000000000..727930cdf Binary files /dev/null and b/public/images/icons/google_news.png differ diff --git a/public/images/icons/google_search.png b/public/images/icons/google_search.png new file mode 100644 index 000000000..1a07ca476 Binary files /dev/null and b/public/images/icons/google_search.png differ diff --git a/public/images/icons/serpapi.png b/public/images/icons/serpapi.png deleted file mode 100644 index 96536112c..000000000 Binary files a/public/images/icons/serpapi.png and /dev/null differ diff --git a/src/components/custom/Toolkits/toolkits-config.ts b/src/components/custom/Toolkits/toolkits-config.ts index 87d4fe292..991c22476 100644 --- a/src/components/custom/Toolkits/toolkits-config.ts +++ b/src/components/custom/Toolkits/toolkits-config.ts @@ -19,6 +19,7 @@ export const categories: Category[] = [ { id: "social", name: "Social & Communication" }, { id: "development", name: "Developer Tools" }, { id: "entertainment", name: "Entertainment" }, + { id: "search", name: "Search" }, ]; export const tools: Tool[] = [ @@ -118,11 +119,59 @@ export const tools: Tool[] = [ type: "arcade", }, { - name: "Search", - image: "serpapi", - summary: "Perform web searches and retrieve relevant information", - link: "/toolkits/development/search", - category: "development", + name: "Google Finance", + image: "google_finance", + summary: "Get stock data from Google Finance", + link: "/toolkits/search/google_finance", + category: "search", + type: "arcade", + }, + { + name: "Google Flights", + image: "google_flights", + summary: "Search for flights", + link: "/toolkits/search/google_flights", + category: "search", + type: "arcade", + }, + { + name: "Google Hotels", + image: "google_hotels", + summary: "Search for hotels", + link: "/toolkits/search/google_hotels", + category: "search", + type: "arcade", + }, + { + name: "Google Search", + image: "google_search", + summary: "Perform Google searches and retrieve relevant information", + link: "/toolkits/search/google_search", + category: "search", + type: "arcade", + }, + { + name: "Google Maps", + image: "google_maps", + summary: "Get directions between two locations with Google Maps", + link: "/toolkits/search/google_maps", + category: "search", + type: "arcade", + }, + { + name: "Google News", + image: "google_news", + summary: "Search for news articles with Google News", + link: "/toolkits/search/google_news", + category: "search", + type: "arcade", + }, + { + name: "Google Jobs", + image: "google_jobs", + summary: "Search for job openings with Google Jobs.", + link: "/toolkits/search/google_jobs", + category: "search", type: "arcade", }, {