Skip to content

Add Apify marketplace Actor#2

Merged
myleshorton merged 3 commits intomainfrom
apify-actor
Apr 1, 2026
Merged

Add Apify marketplace Actor#2
myleshorton merged 3 commits intomainfrom
apify-actor

Conversation

@myleshorton
Copy link
Copy Markdown
Member

Summary

  • Apify Actor that publishes Wick to their 22K+ Actor marketplace
  • Dual-mode: bundled Wick engine on Apify's infra (free, Chrome TLS fingerprint) or tunnel to local Wick Pro (residential IP, $20/mo)
  • Supports all three Wick operations: fetch, crawl, map
  • Runs Wick's HTTP API as a sidecar process — connection pool stays warm across URLs
  • Includes full marketplace listing (ACTOR.md), input/dataset schemas, Dockerfile

Architecture

The Actor starts wick serve --api inside the container and calls it over localhost. If a tunnel URL is provided, it calls the remote Wick instance instead. Same code path either way.

Files

  • apify/.actor/ — Apify metadata, input schema, dataset schema, marketplace README
  • apify/src/main.js — Actor logic (~120 lines)
  • apify/Dockerfile — Downloads Linux binary from GitHub release
  • apify/package.json — Just the apify SDK dependency

Test plan

  • docker build the Dockerfile locally to verify Wick binary works in the container
  • Test fetch mode with a few URLs
  • Test crawl mode
  • Test tunnel mode against a local wick serve --api instance
  • apify push to deploy to Apify platform

🤖 Generated with Claude Code

Apify Actor that brings Wick's browser-grade content extraction to
Apify's 22K+ marketplace. Two modes: bundled Wick engine (runs on
Apify infra with Chrome TLS fingerprint) or tunnel to local Wick Pro
instance (residential IP + full anti-detection).

Supports fetch, crawl, and map operations with clean JSON output
via Wick's HTTP API server running as a sidecar process.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Apr 1, 2026

Deploying wickproject with  Cloudflare Pages  Cloudflare Pages

Latest commit: a8add93
Status: ✅  Deploy successful!
Preview URL: https://da9a4cba.wickproject.pages.dev
Branch Preview URL: https://apify-actor.wickproject.pages.dev

View logs

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an Apify marketplace Actor wrapper around Wick, packaging a container that can either run a bundled wick serve --api sidecar locally in Apify infrastructure or proxy requests to a user-provided Wick tunnel endpoint.

Changes:

  • Implemented the Actor runtime logic (fetch/crawl/map) and dataset output in apify/src/main.js.
  • Added a Dockerfile that downloads and installs the Wick Linux binary + dependencies and runs the Actor.
  • Added Apify marketplace metadata: Actor definition, README listing, and input/dataset schemas.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
apify/src/main.js Actor entrypoint: starts Wick locally (or uses tunnel), calls Wick HTTP API, writes results to Apify dataset
apify/package.json Minimal Node package definition for the Actor (Apify SDK dependency, ESM mode)
apify/Dockerfile Container build steps: install Wick from GitHub release, install npm deps, run Actor
apify/.actor/input_schema.json Actor input schema for URLs, mode, output format, crawl limits, and tunnel/API key options
apify/.actor/dataset_schema.json Dataset schema describing output records for fetch/crawl/map results
apify/.actor/ACTOR.md Marketplace listing / documentation for the Actor and its modes
apify/.actor/actor.json Apify Actor metadata wiring Dockerfile, README, input schema, and dataset schema

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

myleshorton and others added 2 commits April 1, 2026 12:19
Position Wick as complementary to the Apify ecosystem rather than
competitive. Removed the comparison table vs Website Content Crawler,
added honest limitations section, and framed the Actor as a lightweight
option that pairs well with browser-based Actors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Null-safe Actor.getInput() with validation for urls array
- Error/exit handlers on spawned wick process
- Drain stdout/stderr pipes to prevent buffer blocking
- Dockerfile uses curl + sha256 checksum instead of ADD
- Map limit is now configurable via mapLimit input (default 100, max 5000)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@myleshorton myleshorton merged commit c344aff into main Apr 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants