293 Commits

Author SHA1 Message Date
Gergő Móricz
3557c90210
feat(js-sdk): auto mode proxy (FIR-2145) (#1602)
* feat(js-sdk): auto mode proxy

* Nick: py sdk

---------

Co-authored-by: Nicolas <nicolascamara29@gmail.com>
2025-05-28 14:31:48 -03:00
Rafael Miller
6d75161302
Fix sdk/undefined response handle error (#1578)
* fix(sdk): update version to 1.25.1 and enhance error handling in FirecrawlApp (#1576)

* package version bump
2025-05-20 16:55:07 -03:00
devin-ai-integration[bot]
7ccbbec488
Fix LLMs.txt cache bug with subdomains and add bypass option (#1557)
* Fix LLMs.txt cache bug with subdomains and add bypass option (#1519)

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Nick:

* Update LLMs.txt test file to use helper functions and concurrent tests

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Remove LLMs.txt test file as requested

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Change parameter name to 'cache' and keep 7-day expiration

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Update generate-llmstxt-supabase.ts

* Update JS and Python SDKs to include cache parameter

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Fix LLMs.txt cache implementation to use normalizeUrl and exact matching

Co-Authored-By: hello@sideguide.dev <hello+firecrawl@sideguide.dev>

* Revert "Fix LLMs.txt cache implementation to use normalizeUrl and exact matching"

This reverts commit d05b9964677b7b2384453329d2ac99d841467053.

* Nick:

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: hello@sideguide.dev <hello+firecrawl@sideguide.dev>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>
2025-05-16 16:29:09 -03:00
devin-ai-integration[bot]
0512ad6bce
Add delay parameter to crawl options in all SDKs (#1514)
* Add delay parameter to crawl options in all SDKs

Co-Authored-By: mogery@sideguide.dev <mogery@sideguide.dev>

* Update terminology from 'between crawl requests' to 'between scrapes'

Co-Authored-By: mogery@sideguide.dev <mogery@sideguide.dev>

* Apply suggestions from code review

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: mogery@sideguide.dev <mogery@sideguide.dev>
Co-authored-by: Gergő Móricz <mo.geryy@gmail.com>
2025-05-02 18:00:15 +02:00
Rafael Miller
29b36c5f9a
[python-SDK] improvs/async (#1337)
* improv/types-and-comments-descs

* async

* removed v0 in example

* tomkosms review

* refator: dry request and error handling

* fixed websocket params

* added origin to requests

* Update firecrawl.py

* Update firecrawl.py

* added agent options types

* Update firecrawl.py

* generic

* Update firecrawl.py

* scrape params commentary

* Update firecrawl.py

* Update firecrawl.py

* Update firecrawl.py

* Update firecrawl.py

* async scrape

* Update firecrawl.py

* Nick: new examples

* Nick: python sdk 2.0

* async functions

* Nick:

* Nick:

---------

Co-authored-by: Ademílson F. Tonato <ademilsonft@outlook.com>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>
2025-04-18 01:32:55 -07:00
Gergő Móricz
772a3ea751 Bump the SDK 2025-04-16 12:36:43 -07:00
Nicolas
6634d236bf
(feat/fire-1) FIRE-1 (#1462)
* wip

* integrating smart-scrape

* integrate smartscrape into llmExtract

* wip

* smart scrape multiple links

* fixes

* fix

* wip

* it worked!

* wip. there's a bug on the batchExtract TypeError: Converting circular structure to JSON

* wip

* retry model

* retry models

* feat/scrape+json+extract interfaces ready

* vertex -> googleapi

* fix/transformArrayToObject. required params on schema is still a bug

* change model

* o3-mini -> gemini

* Update extractSmartScrape.ts

* sessionId

* sessionId

* Nick: f-0 start

* Update extraction-service-f0.ts

* Update types.ts

* Nick:

* Update queue-worker.ts

* Nick: new interface

* rename analyzeSchemaAndPrompt -> F0

* refactor: rename agent ID to model in types and extract logic

* agent

* id->model

* id->model

* refactor: standardize agent model handling and validation across extraction logic

* livecast agent

* (feat/f1) sdks (#1459)

* feat: add FIRE-1 agent support to Python and JavaScript SDKs

Co-Authored-By: hello@sideguide.dev <hello@sideguide.dev>

* feat: add FIRE-1 agent support to scrape methods in both SDKs

Co-Authored-By: hello@sideguide.dev <hello@sideguide.dev>

* feat: add prompt and sessionId to AgentOptions interface

Co-Authored-By: hello@sideguide.dev <hello@sideguide.dev>

* Update index.ts

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: hello@sideguide.dev <hello@sideguide.dev>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>

* feat(v1): rate limits

* Update types.ts

* Update llmExtract.ts

* add cost tracking

* remove

* Update requests.http

* fix smart scrape cost calc

* log sm cost

* fix counts

* fix

* expose cost tracking

* models fix

* temp: skipLibcheck

* get rid of it

* fix ts

* dont skip lib check

* Update extractSmartScrape.ts

* Update queue-worker.ts

* Update smartScrape.ts

* Update requests.http

* fix(rate-limiter):

* types: fire-1 refine

* bill 150

* fix credits used on crawl

* ban from crawl

* route cost limit warning

* Update generic-ai.ts

* genres

* Update llmExtract.ts

* test server diff

* cletu

---------

Co-authored-by: rafaelmmiller <150964962+rafaelsideguide@users.noreply.github.com>
Co-authored-by: Thomas Kosmas <thomas510111@gmail.com>
Co-authored-by: Ademílson F. Tonato <ademilsonft@outlook.com>
Co-authored-by: devin-ai-integration[bot] <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: hello@sideguide.dev <hello@sideguide.dev>
Co-authored-by: Gergő Móricz <mo.geryy@gmail.com>
2025-04-15 00:19:45 -07:00
Gergő Móricz
63a283bfe7 js-sdk: once again again 2025-04-12 17:44:19 -07:00
Gergő Móricz
58ad7f40b6 js-sdk: once more 2025-04-12 17:42:30 -07:00
Gergő Móricz
62c842e64a js-sdk: fix tsup config 2025-04-12 17:40:16 -07:00
Gergő Móricz
32798e2200 revert lock 2025-04-12 17:27:47 -07:00
Gergő Móricz
557df1ab95 js-sdk: bump 2025-04-12 17:26:35 -07:00
Gergő Móricz
4414fbca43 fix lock 2025-04-12 17:23:15 -07:00
Nicolas
950a9512bd Nick: 2025-04-12 17:21:36 -07:00
Gergő Móricz
c5079074bc js-sdk: bump 2025-04-12 17:16:28 -07:00
Nicolas
a03b26a45f Update package.json 2025-04-12 17:11:56 -07:00
devin-ai-integration[bot]
ef341399f0
Add change tracking support to Python and JS SDKs (#1448)
* Add change tracking support to Python and JS SDKs

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Replace test API keys with TEST_API_KEY placeholder

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Replace API keys with dummy values for testing

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Use environment variables for API keys in tests

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Move JS SDK test to correct location and add dependencies

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Remove old test file location

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Update test file to use TEST_API_KEY environment variable

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Update Python SDK test to use TEST_API_KEY environment variable

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Update package.json

* Update __init__.py

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Camara <nick@sideguide.dev>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>
2025-04-12 16:47:24 -07:00
devin-ai-integration[bot]
138a9757ae
(feat/change-tracking) Change Tracking Modes (#1445)
* Add git-diff support to change tracking format

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Fix type issues with parse-diff library

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Fix parse-diff type definitions to match actual library structure

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Add structured output/prompt support to change tracking

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* (feat/change-tracking) Change Tracking Modes (#1447)

* Refactor change tracking to use modes array instead of separate formats

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Implement schema-based change tracking with old/new value comparison

Co-Authored-By: Nicolas Camara <nick@sideguide.dev>

* Nick:

* Nick: .json

* Update diff.ts

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Camara <nick@sideguide.dev>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>

* Update index.ts

* Update types.ts

* Update diff.ts

* Update scrape.ts

---------

Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: Nicolas Camara <nick@sideguide.dev>
Co-authored-by: Nicolas <nicolascamara29@gmail.com>
2025-04-12 16:38:56 -07:00
Gergő Móricz
ab6fb48e6e bump ver 2025-04-08 21:11:42 +02:00
devin-ai-integration[bot]
8c801ed956
Rename 'compare' format and property to 'changeTracking' (#1423) 2025-04-08 21:09:31 +02:00
Gergő Móricz
7128f83a7a
fix(js-sdk): isows import issues (FIR-1586) (FIR-1536) (#1411)
* attempt

* improvements

* kill isows -- there's been native websocket support in node since 21

* clean up the diff
2025-04-04 17:54:37 +02:00
Gergő Móricz
24f5199359
compare format (FIR-1560) (#1405) 2025-04-02 19:52:43 +02:00
Ademílson F. Tonato
58e587d99e
feat(queue-jobs): update notification logic for concurrency limits and add parameter (jsdocs) to batchScrapeUrls 2025-03-31 13:27:36 +01:00
Gergő Móricz
46048bc94d
feat(scrapeURL): return js returns from f-e (FIR-1535) (#1385)
* feat(scrapeURL): return js returns from f-e

* feat(js-sdk): handle new results
2025-03-28 12:42:25 +01:00
Nicolas
555dab50e7 Nick: bump 2025-03-24 20:17:22 +04:00
Nicolas
a50dc106ef
(feat/deep-research) Deep Research Alpha v1 - Structured Outputs + Customizability (#1365)
* Nick:

* Nick: structured output support

* Nick: support for zod and pydantic
2025-03-24 20:13:52 +04:00
Nicolas
723c16499d Merge branch 'nsc/deep-research-prompts' 2025-03-18 15:53:02 -04:00
Nicolas
4fc5e6f6ca Nick: added analysis prompt to the sdks 2025-03-18 15:52:55 -04:00
Gergő Móricz
d0b468ee7b
feat(scrape/actions/click): add all parameter (FIR-1443) (#1342)
* feat(scrape/actions/click): add all parameter

* bump sdk
2025-03-17 20:47:17 +01:00
Rafael Miller
6d3c639f58
added 403s to sdk error handlers (#1357) 2025-03-17 18:06:29 +01:00
Nicolas
6d250360c2 Nick: bump 2025-03-16 22:45:16 -04:00
Nicolas
0fb9c1f32e Update index.ts 2025-03-16 22:28:47 -04:00
Nicolas
f1206e4870 Nick: urls optional on extract 2025-03-15 22:50:19 -04:00
Gergő Móricz
ca93ba6c6d
fix(js-sdk/crawl,batch-scrape): retry status call if it returns an error up to 3 times (#1343) 2025-03-15 12:42:53 +01:00
Gergő Móricz
7cf2e52fe6
feat(crawl): add maxDiscoveryDepth (#1329) 2025-03-12 18:46:57 +01:00
Gergő Móricz
0154e40685 fix(js-sdk/extract): fix zod type check with zod version discrepancy 2025-03-12 16:02:44 +01:00
Nicolas
60346ecfa3
Fix/p token (#1305)
* preview-token

* Nick:

---------

Co-authored-by: rafaelmmiller <150964962+rafaelsideguide@users.noreply.github.com>
2025-03-06 19:03:33 -03:00
Gergő Móricz
e1cfe1da48
feat(crawl): includes/excludes fixes (FIR-1300) (#1303)
* feat(crawl): includes/excludes fixes pt. 1

* fix(snips): billing tests

* drop tha logs

* fix(ci): add replica url

* feat(crawl): drop initial scrape if it's not included

* feat(ci): more verbose logging

* fix crawl path in test

* fix(ci): wait for api

* fix(snips/scrape/ad): test for more pixels

* feat(js-sdk/crawl): add regexOnFullURL
2025-03-06 17:05:15 +01:00
Nicolas
22d4f0de38
(feat/deep-research) Alpha prep + Improvements (#1284)
* Update index.ts

* Nick:

* Nick: topic -> query

* Update deep-research.ts

* Nick: bump

* Nick: add onSource callback
2025-03-02 17:33:21 -03:00
Nicolas
99e61c967c Update index.ts 2025-03-02 02:39:52 -03:00
Gergő Móricz
05c29e8299 js-sdk: bump 2025-02-28 12:40:39 +01:00
Nicolas
39b61132bf Nick: fixed js sdk 2025-02-27 20:39:53 -03:00
Nicolas
289e351c14
(feat/deep-research-alpha) Added Max Urls, Sources and Fixes (#1271)
* Nick: fixes

* Nick:

* Update deep-research-status.ts
2025-02-27 13:24:40 -03:00
Nicolas
2151ca846c Merge branch 'main' of https://github.com/mendableai/firecrawl 2025-02-20 10:50:32 -03:00
Nicolas
7db2d25efa Nick: 2025-02-20 10:50:22 -03:00
Gergő Móricz
c75522f535
feat(sdk): enforce timeout on client-side if set (#1204) 2025-02-20 13:35:31 +01:00
Eric Ciarla
d984b50400
Add llmstxt generator endpoint (#1201)
* Nick:

* Revert "fix(v1/types): fix extract -> json rename (FIR-1072) (#1195)"

This reverts commit 586a10f40d354a038afc2b67809f20a7a829f8cb.

* Update deep-research-service.ts

* Nick:

* init

* part 2

* Update generate-llmstxt-service.ts

* Fix queue

* Update queue-worker.ts

* Almost there

* Final touches

* Update requests.http

* final touches

* Update requests.http

* Improve logging

* Change endpoint to /llmstxt

* Update queue-worker.ts

* Update generate-llmstxt-service.ts

* Nick: cache

* Update index.ts

* Update firecrawl.py

* Update package.json

---------

Co-authored-by: Nicolas <nicolascamara29@gmail.com>
Co-authored-by: Gergő Móricz <mo.geryy@gmail.com>
2025-02-19 14:42:33 -03:00
Gergő Móricz
e373fab5c1 fix(sdk/js): don't require CrawlScrapeOptions.formats 2025-02-19 17:58:19 +01:00
Gergő Móricz
8e1e5986f7 feat(sdk/js): bump 2025-02-19 17:37:36 +01:00
Gergő Móricz
4fd26a3baa feat(js-sdk): support scrapeOptions in ExtractParams 2025-02-19 17:08:43 +01:00