Skip to content

feat: apify create --from-url <website> — AI generates Actor scaffold from a target URL #1440

Description

@kuntal1461

Problem

Building a new Apify Actor today requires the developer to:

  1. Know how to scrape (CSS selectors, Playwright/Cheerio, pagination patterns)
  2. Know how to structure an Apify Actor (file layout, INPUT_SCHEMA.json, apify.json)
  3. Pick the right template manually

This is a high skill floor. Most users who want to scrape a specific website don't know where to start.

Proposal

Add an AI-powered flag to apify create:

apify create --from-url <website-url>

What it does

  1. Fetches the target URL (or uses a headless browser for JS-heavy sites)
  2. Sends the page structure to an LLM with a prompt that asks: "What data is on this page? How would you scrape it?"
  3. Generates a complete, working Actor scaffold:
    • src/main.js (or main.py) with working scraper code
    • INPUT_SCHEMA.json with inferred inputs (startUrl, maxPages, selectors, etc.)
    • .actor/actor.json with name and description
  4. Runs apify run locally to verify it works before handing off to the developer

Example

$ apify create --from-url https://news.ycombinator.com

Analyzing https://news.ycombinator.com...
  Detected: News listing page, 30 items per page, paginated
  Stack suggestion: Cheerio (static HTML, no JS required)

Generating Actor scaffold...
  ✓ src/main.js
  ✓ .actor/INPUT_SCHEMA.json
  ✓ .actor/actor.json

Running locally to verify...
  ✓ Scraped 30 items on first page

Actor "hacker-news-scraper" is ready.
Next: apify push

Generated INPUT_SCHEMA.json (example)

{
  "title": "Hacker News Scraper",
  "description": "Scrapes stories from Hacker News",
  "properties": {
    "startUrl": { "type": "string", "default": "https://news.ycombinator.com" },
    "maxPages": { "type": "integer", "default": 5 }
  }
}

Why it matters

  • Lowers the skill floor from "know web scraping" to "have a URL"
  • Dramatically accelerates the path from idea to published Actor
  • Grows the Actor Store catalog: more contributors = more supply = more users
  • Positions Apify CLI as an AI-native developer tool, not just a deploy tool

Open questions

  • Which LLM / API to use (Apify-hosted vs user brings their own key)?
  • Should it be interactive (wizard-style) or fully automatic?
  • How to handle JS-heavy sites that require Playwright?

Related

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    t-buildersIssues owned by the Builders team.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions