Skip to main content
Intuned is flexible—there are many ways to structure automations into projects. Here are common patterns to guide you.

Project patterns

Single-site scraper

Scrape entities from one website using a list-details pattern. Best for: Entity scrapers—product catalogs, job postings, event listings, public records. Structure:
The list API returns lightweight records. The details API fetches everything else: images, full descriptions, related items, or data requiring interaction.

Automate a site without an API (RPA)

Build an integration to a site that lacks an API—or extend what exists. Best for: Insurance portals, government websites, or any legacy website that has no official APIs. Structure:
This pattern typically uses AuthSessions. Users log in once, and you’ll reuse the session across API calls.

Crawler

Crawl websites to extract content. Use this when a structured scraper isn’t a good fit—either the site has no clear structure, or you need something that works across multiple sites. Best for: AI/LLM data pipelines, search indexes, content aggregation, site archiving, knowledge bases. Structure:
How it works:
  • map quickly returns all discoverable URLs without extracting content.
  • scrape handles a single page—returns markdown, HTML, metadata.
  • crawl combines discovery and extraction for an entire site.
  • search performs web search and scrapes results.

Multi-site template scraper

Scrape multiple sites that share the same structure—typically from a platform that generates sites for clients. Best for: Shopify stores (e-commerce), Lever/Greenhouse boards (job postings), franchise websites, sites built on the same CMS. Structure:
Output: Consistent schema across all sites. A product from store A has the same structure as one from store B.
If sites diverge significantly in structure, split them into separate projects. This pattern works best when the template is consistent.

Nested category scraper

Scrape sites with nested navigation: categories, subcategories, items. Best for: E-commerce catalogs, classified ads, business directories. Structure:
Start with get_categories to discover the lists, then list for each list, then details for each item.

AI agent automation

Use AI to automate workflows across unknown or varied websites. The target site isn’t known in advance—the AI adapts at runtime. Best for: Multi-provider comparisons, cross-site data aggregation, generic web tasks where building per-site scrapers isn’t feasible. Structure:
How it works: AI agents (like Browser-Use or Stagehand) handle navigation, form discovery, and data extraction. The same API works on sites it’s never seen before.
Use this pattern when target sites are unknown or too numerous to build individual scrapers. For known, stable sites, deterministic scrapers are more reliable.

Utility project

Simple, focused APIs. Building blocks for larger systems. Best for: Markdown extraction, PDF collection, screenshot services, page archiving. Structure:
Keep utilities minimal and predictable. They compose well into larger workflows.

Multi-purpose project

Consolidate many APIs into one project. Use nested folders to organize. Teams typically manage these projects with the Intuned CLI for local development and deploy via CI/CD pipelines. Best for: Automations that share significant logic and helpers (without helper packages), and organizations wanting to manage multiple different purpose automations in one project. Structure:
API naming: Folders become part of the API name. my-scraper/list is the name of the API here. Workflow:
  1. Develop locally using Intuned CLI.
  2. Source control with git.
  3. Deploy with CI/CD (GitHub Actions) using intuned deploy.
Use this pattern with care. Consolidating too much into one project means all APIs deploy together, share configuration, and can’t scale independently. Consider whether separate projects would be cleaner—the same tradeoffs apply as putting all code in one monorepo vs. splitting into focused repositories.

Design guidelines

Whatever pattern you choose, keep these principles in mind:

One project, one purpose

Everything in a project deploys together and shares configuration (AuthSessions, secrets, settings). Split when automations target different sites, have different auth requirements, or change independently. Combine when automations work on the same platform, share authentication, or share significant code.
If the same site exposes more than one login flow (for example, separate provider and patient logins on a healthcare portal), keep it in one project. Pass a parameter when creating each AuthSession that identifies the flow, branch on it inside create, and read it back inside check with getAuthSessionParameters. See Multiple login flows on the same site.

Small, focused APIs

Each API should perform one logical unit of browser work. A good API does one thing, succeeds or fails independently, and is retriable with the same parameters.