Commit Graph

244 Commits

Author SHA1 Message Date
Nicolas 03d66babe7 Merge pull request #30 from firecrawl/browser
b
2026-02-16 19:17:11 -08:00
Developers Digest dc07be1be8 Add browser quick-execute and CLI shorthand
Introduce handleBrowserQuickExecute to auto-launch a browser session if none exists, save the session, print session info to stderr, auto-prefix commands with "agent-browser", and delegate execution to the existing execute handler. Wire a positional [code] argument and options into the browser CLI to support the one-step shorthand (launch+execute), and rename the existing "launch" subcommand to "launch-session" while updating help/examples. Tests were added to cover quick-execute behavior (skips launch when a session exists; auto-launches and saves when not).
2026-02-16 21:06:20 -05:00
Developers Digest cffb3104b0 Bump firecrawl-js; update browser execute behavior
Upgrade @mendable/firecrawl-js to 4.13.0-beta.3 and update CLI browser behavior. Change language handling to use 'node' (instead of 'js') and add automatic agent-browser prefixing for default commands; --python/--js now explicitly select Playwright modes. Improve session handling for bash execution by allowing a session ID to be resolved via the API if not stored locally, and rename TTL args mapping (ttlTotal -> ttl, ttlWithoutActivity -> activityTtl). Update help text and examples to reflect the new defaults.
2026-02-16 19:00:48 -05:00
Developers Digest fe33c8a731 Add agent-browser bash mode docs
Add documentation and CLI help updates to document the new bash/agent-browser workflow. skills/firecrawl-cli/SKILL.md: introduce a Bash Mode section with recommended agent-browser usage, example commands, and a core command table; clarify that agent-browser is pre-installed in sandboxes. src/index.ts: update the browser command help text and examples to highlight agent-browser usage, streamline examples, and update the --bash option description to indicate agent-browser and CDP_URL injection. These changes make it easier for AI agents and users to run browser interactions via pre-installed agent-browser tooling.
2026-02-16 12:09:50 -05:00
Developers Digest 07a69957ae Support positional status for browser list
Make the browser list command accept an optional positional status argument (active|destroyed) instead of the --status option. Validate the status value and exit with an error for invalid inputs, and pass the status through to handleBrowserList. Update help text/examples to show `firecrawl browser list active` and `firecrawl browser list destroyed`. Also update SKILL.md to clarify listing all sessions and add a separate example for listing active sessions.
2026-02-16 11:58:29 -05:00
Developers Digest 1a4144abd0 Remove --pretty flag and add list --status
Remove the deprecated --pretty CLI flag and related handling throughout browser commands. When --json is used, output is now always pretty-printed (JSON.stringify(..., 2)). Add a --status option to the browser list command and pass it into listBrowsers to filter sessions by status. Clean up minor checks (e.g. liveViewUrl access) and update help examples to reflect the removed --pretty flag.
2026-02-16 11:44:02 -05:00
Developers Digest a634cc3a2c Shorten CLI descriptions and reformat help 2026-02-16 09:22:51 -05:00
Developers Digest 4c0ac338c4 improve --help 2026-02-13 15:49:49 -05:00
Developers Digest 0f1e6545ec browser init 2026-02-13 13:01:08 -05:00
Abimael Martell f2f2789625 feat(scrape): Implement location settings for scrapes (#29) 2026-02-12 15:15:31 -08:00
Abimael Martell 23276161b9 feat(scrape) Add summary format shortcut (#28) 2026-02-11 13:25:03 -08:00
Abimael Martell 60aa8f6154 feat(scrape): Add --max-age option to Scrape (#26)
* feat(scrape): Add --max-age option to Scrape

* update comment

* update doc

* update doc
2026-02-06 23:09:23 -08:00
Abimael Martell 41927d7bd4 Implement agent command (#22)
* Add agent command for AI-powered web data extraction

Implement the agent endpoint that allows users to extract data from the web
using natural language prompts. Supports structured output via JSON schemas,
URL targeting, credit limits, and async job handling with polling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add --model option to agent command

Support selecting between fire-1 (default) and fire-1-mini (faster, cheaper)
models for agent extraction tasks.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Update firecrawl-js SDK to 4.12.0 with model support

- Upgrade @mendable/firecrawl-js from 4.10.0 to 4.12.0
- Update model types to match SDK: spark-1-mini and spark-1-pro

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add spinner animation for agent command

- Add spinner utility for CLI feedback
- Show animated spinner while agent is starting and processing
- Display success/fail indicators when complete
- Remove --progress flag (spinner now always shown)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Handle Ctrl+C gracefully in agent command

When user interrupts with Ctrl+C while waiting for agent completion,
show helpful message with the command to check job status later.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Allow --wait when checking agent job status

Now you can use `firecrawl agent <job-id> --wait` to continuously
poll an existing job until it completes, with the same spinner
animation and Ctrl+C handling.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Improve error handling in agent command

- Stop spinner before showing error messages
- Extract detailed error messages from API responses
- Show full error details to help debug issues

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Extract error details from Firecrawl SDK errors

Show helpful error messages like "Invalid option: expected one of
spark-1-pro|spark-1-mini" instead of just "Bad Request".

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Validate model option before API call

Show clear error message for invalid models instead of waiting
for API rejection.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* add agent to skill

* only command for now

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:36:14 -08:00
Developers Digest cd012d38c6 Add gitignore status checks 2026-02-03 13:52:33 -05:00
Abimael Martell a8d3d15edf test: Add test coverage for --api-url option
Add tests for apiUrl option in:
- parseScrapeOptions
- executeScrape
- executeCrawl
- executeMap
- executeSearch
- executeCreditUsage

All tests verify that apiUrl is correctly passed to getClient and
used in API calls.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:51:53 -08:00
Abimael Martell 8845a2fc08 Add support for local/custom API URLs (#20)
* Add support for local/custom API URLs

For custom API URLs (e.g., local development with Docker), the CLI now:
- Skips API key requirement when using non-cloud URLs
- Allows optional API key input during login
- Skips browser auth flow for custom URLs

This enables use with local Firecrawl instances that have
USE_DB_AUTHENTICATION=false.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add --api-url option to commands

Add --api-url flag at both global and command levels (scrape, crawl,
map, search, credit-usage) similar to --api-key. When a custom API URL
is provided, authentication is skipped allowing requests to local or
self-hosted Firecrawl instances without an API key.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add --api-url option documentation

Document the --api-url option for self-hosted and local development
use cases in the README, including examples for environment variables
and CI/CD usage.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* docs: Add --api-url to login and config examples

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:48:27 -08:00
Abimael Martell 96d0786b4f Fix job ID detection to support UUID v7 (#19)
Firecrawl returns UUID v7 job IDs, but the regex only matched UUID v4.
This caused `firecrawl crawl <job-id>` to fail with a URL validation error
instead of checking job status.

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 16:26:16 -08:00
Nicolas bd6ede2a01 Nick: --browser 2026-01-24 17:04:41 -08:00
Developers Digest 8584f6ced8 Update concurrency label to 'parallel scrape limit'
Replaces 'parallel scrape/crawl limit' with 'parallel scrape limit' in status output, README, and SKILL.md for clarity and consistency.
2026-01-23 08:21:30 -05:00
Developers Digest 45b63b2b02 Add --status command to display CLI and account info
Introduces a new --status flag to the CLI, showing version, authentication status, concurrency limits, and credit usage. Updates documentation and skill instructions to reflect the new command. Increments package version to 1.1.0.
2026-01-23 08:12:23 -05:00
Nicolas 2925e4bc74 Update auth.ts 2026-01-22 13:29:42 -03:00
Nicolas 4279839428 Update auth.ts 2026-01-22 12:42:24 -03:00
Nicolas e8cc94b24d Nick: 2026-01-22 12:34:58 -03:00
Nicolas 4fefc42faa Nick: 2026-01-22 11:51:08 -03:00
Nicolas 424605ef33 Nick: infer output from file extension 2026-01-21 16:06:29 -03:00
Nicolas 5f277d1431 Nick: tests with full coverage 2026-01-21 15:49:29 -03:00
Nicolas 97c268d6b2 Nick: 2026-01-21 15:15:31 -03:00
Nicolas dc6fbf9f3c Nick: positional formats 2026-01-21 15:04:16 -03:00
Nicolas 9cadd3bb26 Nick: 2026-01-21 01:16:36 -03:00
Nicolas 25ead35b1f Nick: 2026-01-21 00:29:48 -03:00
Nicolas d26fbd044a Nick: search 2026-01-21 00:20:18 -03:00
Nicolas 4a3d047783 Nick: 2026-01-21 00:09:47 -03:00
nobita2041 c61bafcb62 Add multiple format support for scrape command (#8)
* Fix array format output for links and images

The links and images formats return arrays from Firecrawl API,
but writeOutput expected a string, causing endsWith() to fail.

Now converts arrays to newline-separated strings for CLI-friendly output.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add multiple format support for scrape command

- Allow comma-separated formats: --format markdown,links,images
- Single format outputs raw content (backward compatible)
- Multiple formats output JSON with all requested data
- Case-insensitive format input (rawHtml, RAWHTML both work)
- Add format validation with helpful error messages
- Update help text to clarify multiple format usage

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-20 13:41:32 -08:00
Abimael Martell 279ddc0d96 Add timing information to scrape (#7)
* Add timing information to scrape

* bump
2026-01-13 11:39:27 -08:00
Abimael Martell be2f61b919 Update Global Config and Entry Points (#6) 2026-01-09 13:41:24 -08:00
Abimael Martell 2fcad56c36 Add version command (#5)
* Add version command

* bump version
2026-01-08 12:32:53 -08:00
Abimael Martell 107bbc9811 feat: Add crawl and map commands (#3)
* feat: Add crawl and map commands

* bump version
2026-01-08 12:04:26 -08:00
Abimael Martell 2cde0aceb0 Add tests (#2)
* Add tests

* fix readme
2026-01-08 11:52:06 -08:00
Abimael Martell 283404c2dc Add CI Workflow and Code Formatting (#1)
* Add CI Workflow and Code Formatting

* update lockfile

* deprecation notice

* update formatting rule
2026-01-08 11:35:00 -08:00
Abimael Martell b4f7773444 add credit usage command 2026-01-08 11:15:02 -08:00
Abimael Martell 6241325370 update config error 2026-01-08 11:10:39 -08:00
Abimael Martell d85d2b86f8 handle default output 2026-01-02 11:34:46 -08:00
Abimael Martell 30ec5fe79e add implementation 2026-01-02 11:20:40 -08:00
Abimael Martell e504174474 initial commit 2026-01-02 11:03:49 -08:00