apify
apify.
Search Apify's public Store for an actor that already scrapes your target.
setup & usage
⚠ apify api token
get the API token from Apify (it starts with apify_api_), then paste it into oto.
▸ the common actors, one tool each
reach for these first: a name that says what it does, typed arguments, the actor's input built for you, max_items and a $5 ceiling (max_total_charge_usd, $25 at most) set by default.
apify_linkedin_profiles(urls) (with_email=true adds an email search)apify_linkedin_company_employees(companies, job_titles, locations) — profile_mode="short" to pick people, enrich only those you keepapify_linkedin_companies(urls | names) — check website against the domainapify_linkedin_posts(queries | author_urls)apify_linkedin_jobs, apify_indeed_jobs, apify_welcome_to_the_jungle_jobsapify_website_contacts(urls)apify_website_crawl(urls, max_pages) (one page: web_read)apify_google_maps_places(search_terms, location); their reviews → apify_google_maps_reviews(place_ids | place_urls)▸ any other actor of the Store
apify is a catalog of ready-to-use scrapers — Google Maps, LinkedIn, Instagram, Amazon, Booking, TikTok… — that you launch with a JSON input and whose output you read.
apify_store_search("google maps") to find the actor, then apify_run_sync with its inputapify_store_search (also returns each actor's price and popularity)apify_actor (default memory and timeout; the INPUT fields are documented on its Store page)apify_run, then apify_run_status until SUCCEEDED, finally apify_dataset_items(defaultDatasetId)apify_abort_run (stops billing)· identifier, input and cost
username/actor-name (what the Store shows) or by its id — both work, the conversion to the URL form is done for yourun_input is specific to each actor: its fields are not invented, they are read on the Store page (e.g. {"searchStringsArray": [...], "maxCrawledPlaces": 20} for the Google Maps scraper)max_items (and if needed max_total_charge_usd, timeout_secs) at LAUNCH is the only protection — afterwards it is consumedapify_run_sync waits at most 300 s; a run still going then is not stopped — the error names its run id, continue with apify_run_status and apify_dataset_items (or start a known-long scrape with apify_run)fields / omit avoid bringing back huge objects⚙ multiple comptes
this connector accepts multiple comptes: each stored credential becomes a named account (one name per compte), at your level, your team's or your org's.
_account="<name>" on the tool; list them: oto_identity(op='list', connector='apify') (scope='org' or scope='group' for the org's or team's)oto_identity(op='set', connector='apify', identity_id='<name>'); rename: op='rename' with new_name_account) and adding upoutils
chargement…
utilisation
claude code — installe le plugin oto —
claude plugin marketplace add otomata-tech/oto-plugin — mcp + skill configurés.cli —
pipx install oto-cli puis oto apify …