Conversation
Made-with: Cursor
…-crawling-actor-tools
There was a problem hiding this comment.
Looks good to me 💪🏻
I have one question though.
I'm not sure about the previous integrations. When we add specific Actors, shouldn't we follow the Actor description and Input parameters description from the Actor details?
I'm not saying they are the best for LLMs but we might want to keep it the same? For example, for google maps scraper, the description and input field is queries.
There are two approaches:
-
Mirror the Actor schema — stay aligned with the Actor's own parameter names and descriptions
-
Unified abstraction layer — normalize parameters across all scrapers, which actually makes sense given each scraper has slightly different parameters (different developers, different conventions)
Looking at all the scrapers, the unification layer in Strands might actually be good.
Anyway, I wanted to raise it here as we should have some clarity across all the integrations we are making.
@drobnikj What do you think?
…-crawling-actor-tools
Tester guides
link
Apify docs
link
Description
This PR extends the Apify integration (
src/strands_tools/apify.py) with five new search & crawling tools that wrap popular Actors from Apify Store, giving agents structured access to Google Search, Google Maps, YouTube, multi-page website crawling, and e-commerce product data.New tools
apify_google_search_scraperapify/google-search-scraperapify_google_places_scrapercompass/crawler-google-placesapify_youtube_scraperstreamers/youtube-scraperapify_website_content_crawlerapify/website-content-crawlerapify_scrape_url)apify_ecommerce_scraperapify/e-commerce-scraping-toolAll tools share the existing
ApifyToolClient, error handling, and Rich console output from the core module. A shared_search_crawl_resulthelper keeps the implementations DRY.Two new export lists are added:
APIFY_SEARCH_TOOLS— the five search & crawling toolsAPIFY_ALL_TOOLS—APIFY_CORE_TOOLS + APIFY_SEARCH_TOOLSfor convenienceFiles changed
src/strands_tools/apify.py@tool-decorated functions,_search_crawl_resulthelper, Actor ID constants,APIFY_SEARCH_TOOLSandAPIFY_ALL_TOOLSexportstests/test_apify.pydocs/apify_tool.mdREADME.mdPR series
feat/strands-core-apify-toolsapify_run_actor,apify_get_dataset_items,apify_run_actor_and_get_dataset,apify_run_task,apify_run_task_and_get_dataset,apify_scrape_urlfeat/strands-search-crawling-actor-toolsfeat/strands-social-media-actor-toolsRelated Issues
#1
#2
Documentation PR
apify/docs#1
Type of Change
New Tool
Testing
Added unit tests for all five search & crawling tools, including:
maxReviewsset to 0 when disabled), optional languageurl_typevalidation, URL validationRan
hatch run preparelocally — no warnings or lint issues.I ran
hatch run prepareChecklist
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.