diff --git a/.github/workflows/test-go-html-to-md-service.yml b/.github/workflows/test-go-html-to-md-service.yml
index 14f694e60..142d66649 100644
--- a/.github/workflows/test-go-html-to-md-service.yml
+++ b/.github/workflows/test-go-html-to-md-service.yml
@@ -28,7 +28,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
- go-version: "1.23"
+ go-version: "1.26"
cache-dependency-path: apps/go-html-to-md-service/go.sum
- name: Build
diff --git a/.github/workflows/test-server.yml b/.github/workflows/test-server.yml
index 9526746b8..6f2c93ebe 100644
--- a/.github/workflows/test-server.yml
+++ b/.github/workflows/test-server.yml
@@ -130,7 +130,7 @@ jobs:
- uses: actions/setup-go@v6
with:
- go-version: 1.24
+ go-version: 1.26
cache-dependency-path: apps/api/sharedLibs/go-html-to-md/go.sum
- name: Verify go.sum is up to date (sharedLibs/go-html-to-md)
diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile
index 7e5378c0f..53ff2e9d6 100644
--- a/apps/api/Dockerfile
+++ b/apps/api/Dockerfile
@@ -8,7 +8,7 @@ ENV CI=true
RUN corepack enable && corepack prepare pnpm@11.4.0 --activate
# Build Go shared library
-FROM golang:1.24 AS go-build
+FROM golang:1.26 AS go-build
WORKDIR /app
COPY sharedLibs/go-html-to-md ./sharedLibs/go-html-to-md
diff --git a/apps/api/sharedLibs/go-html-to-md/go.mod b/apps/api/sharedLibs/go-html-to-md/go.mod
index 75a8d64cc..f59c51162 100644
--- a/apps/api/sharedLibs/go-html-to-md/go.mod
+++ b/apps/api/sharedLibs/go-html-to-md/go.mod
@@ -1,8 +1,6 @@
module html-to-markdown.go
-go 1.23.0
-
-toolchain go1.24.0
+go 1.25.0
require github.com/firecrawl/html-to-markdown v0.0.0-20260312013131-1af9901a5d61
@@ -10,7 +8,7 @@ require (
github.com/PuerkitoBio/goquery v1.10.3 // indirect
github.com/andybalholm/cascadia v1.3.3 // indirect
github.com/kr/pretty v0.3.0 // indirect
- golang.org/x/net v0.41.0 // indirect
+ golang.org/x/net v0.55.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
diff --git a/apps/api/sharedLibs/go-html-to-md/go.sum b/apps/api/sharedLibs/go-html-to-md/go.sum
index 26a4b4c39..94d8fe29c 100644
--- a/apps/api/sharedLibs/go-html-to-md/go.sum
+++ b/apps/api/sharedLibs/go-html-to-md/go.sum
@@ -45,8 +45,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
-golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
-golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
diff --git a/apps/go-html-to-md-service/Dockerfile b/apps/go-html-to-md-service/Dockerfile
index ab3909c5b..26f96c942 100644
--- a/apps/go-html-to-md-service/Dockerfile
+++ b/apps/go-html-to-md-service/Dockerfile
@@ -1,5 +1,5 @@
# Build stage
-FROM golang:1.23-alpine AS builder
+FROM golang:1.26-alpine AS builder
# Install build dependencies
RUN apk add --no-cache git
diff --git a/apps/go-html-to-md-service/go.mod b/apps/go-html-to-md-service/go.mod
index 362ba4d7d..d45f1e827 100644
--- a/apps/go-html-to-md-service/go.mod
+++ b/apps/go-html-to-md-service/go.mod
@@ -1,6 +1,6 @@
module github.com/firecrawl/go-html-to-md-service
-go 1.23.0
+go 1.25.0
require (
github.com/firecrawl/html-to-markdown v0.0.0-20260312013131-1af9901a5d61
@@ -14,8 +14,8 @@ require (
github.com/kr/pretty v0.3.0 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
- golang.org/x/net v0.41.0 // indirect
- golang.org/x/sys v0.33.0 // indirect
+ golang.org/x/net v0.55.0 // indirect
+ golang.org/x/sys v0.45.0 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
)
diff --git a/apps/go-html-to-md-service/go.sum b/apps/go-html-to-md-service/go.sum
index 24f562b19..9feb2a1df 100644
--- a/apps/go-html-to-md-service/go.sum
+++ b/apps/go-html-to-md-service/go.sum
@@ -59,8 +59,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
-golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw=
-golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA=
+golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8=
+golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -81,8 +81,8 @@ golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
-golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.45.0 h1:dO4czNzziLiiXplLQgBCEpCvXQ3dnkn0SdaZSYdQ+FY=
+golang.org/x/sys v0.45.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
diff --git a/apps/rust-sdk/Cargo.lock b/apps/rust-sdk/Cargo.lock
index 6c425b6db..aac07609e 100644
--- a/apps/rust-sdk/Cargo.lock
+++ b/apps/rust-sdk/Cargo.lock
@@ -90,6 +90,15 @@ version = "2.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b8e56985ec62d17e9c1001dc89c88ecd7dc08e47eba5ec7c29c7b5eeecde967"
+[[package]]
+name = "bs58"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4"
+dependencies = [
+ "tinyvec",
+]
+
[[package]]
name = "bumpalo"
version = "3.19.0"
@@ -98,9 +107,9 @@ checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]]
name = "bytes"
-version = "1.10.1"
+version = "1.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d71b6127be86fdcfddb610f7182ac57211d4b18a3e9c82eb2d17662f2227ad6a"
+checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
[[package]]
name = "cc"
@@ -157,9 +166,9 @@ checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b"
[[package]]
name = "darling"
-version = "0.20.11"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee"
+checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d"
dependencies = [
"darling_core",
"darling_macro",
@@ -167,37 +176,36 @@ dependencies = [
[[package]]
name = "darling_core"
-version = "0.20.11"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0d00b9596d185e565c2207a0b01f8bd1a135483d02d9b7b0a54b11da8d53412e"
+checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0"
dependencies = [
- "fnv",
"ident_case",
"proc-macro2",
"quote",
"strsim",
- "syn",
+ "syn 2.0.104",
]
[[package]]
name = "darling_macro"
-version = "0.20.11"
+version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead"
+checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d"
dependencies = [
"darling_core",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
name = "deranged"
-version = "0.4.0"
+version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c9e6a11ca8224451684bc0d7d5a7adbf8f2fd6887261a1cfc3c0432f9d4068e"
+checksum = "7cd812cc2bc1d69d4764bd80df88b4317eaef9e773c75226407d9bc0876b211c"
dependencies = [
"powerfmt",
- "serde",
+ "serde_core",
]
[[package]]
@@ -208,7 +216,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -854,9 +862,9 @@ dependencies = [
[[package]]
name = "num-conv"
-version = "0.1.0"
+version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+checksum = "521739c6d2bac4aa25192232afe6841231376b2b26d4d9fae5ecf8ca5772e441"
[[package]]
name = "num-traits"
@@ -904,7 +912,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1081,7 +1089,7 @@ checksum = "1165225c21bff1f3bbce98f5a1f889949bc902d3575308cc7b0de30b4f6d27c7"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1190,9 +1198,9 @@ dependencies = [
[[package]]
name = "rustls"
-version = "0.23.31"
+version = "0.23.45"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ebcbd2f03de0fc1122ad9bb24b127a5a6cd51d72604a3f3c50ac459762b6cc"
+checksum = "0d41d731c7d2f962d1ccc364cec258de3c0e93b38c2fb3ba97ac74513048d634"
dependencies = [
"once_cell",
"rustls-pki-types",
@@ -1297,34 +1305,45 @@ dependencies = [
[[package]]
name = "serde"
-version = "1.0.219"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
+checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba"
+dependencies = [
+ "serde_core",
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_core"
+version = "1.0.229"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
-version = "1.0.219"
+version = "1.0.229"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
+checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 3.0.6",
]
[[package]]
name = "serde_json"
-version = "1.0.142"
+version = "1.0.151"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "030fedb782600dcbd6f02d479bf0d817ac3bb40d644745b769d6a96bc3afc5a7"
+checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14"
dependencies = [
"itoa",
"memchr",
- "ryu",
"serde",
+ "serde_core",
+ "zmij",
]
[[package]]
@@ -1341,19 +1360,19 @@ dependencies = [
[[package]]
name = "serde_with"
-version = "3.14.0"
+version = "3.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f2c45cd61fefa9db6f254525d46e392b852e0e61d9a1fd36e5bd183450a556d5"
+checksum = "76a5c54c7310e7b8b9577c286d7e399ddd876c3e12b3ed917a8aabc4b96e9e8c"
dependencies = [
"base64",
+ "bs58",
"chrono",
"hex",
"indexmap 1.9.3",
"indexmap 2.10.0",
"schemars 0.9.0",
"schemars 1.0.4",
- "serde",
- "serde_derive",
+ "serde_core",
"serde_json",
"serde_with_macros",
"time",
@@ -1361,14 +1380,14 @@ dependencies = [
[[package]]
name = "serde_with_macros"
-version = "3.14.0"
+version = "3.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de90945e6565ce0d9a25098082ed4ee4002e047cb59892c318d66821e14bb30f"
+checksum = "84d57bc0c8b9a17920c178daa6bb924850d54a9c97ab45194bb8c17ad66bb660"
dependencies = [
"darling",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1443,6 +1462,17 @@ dependencies = [
"unicode-ident",
]
+[[package]]
+name = "syn"
+version = "3.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8593e8e72159ed2257d083c7a454a85cbf854f37a0966d8d483aff8c8a3ebcee"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
[[package]]
name = "sync_wrapper"
version = "1.0.2"
@@ -1460,7 +1490,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1514,35 +1544,35 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
name = "time"
-version = "0.3.41"
+version = "0.3.47"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a7619e19bc266e0f9c5e6686659d394bc57973859340060a69221e57dbc0c40"
+checksum = "743bd48c283afc0388f9b8827b976905fb217ad9e647fae3a379a9283c4def2c"
dependencies = [
"deranged",
"itoa",
"num-conv",
"powerfmt",
- "serde",
+ "serde_core",
"time-core",
"time-macros",
]
[[package]]
name = "time-core"
-version = "0.1.4"
+version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c9e9a38711f559d9e3ce1cdb06dd7c5b8ea546bc90052da6d06bb76da74bb07c"
+checksum = "7694e1cfe791f8d31026952abf09c69ca6f6fa4e1a1229e18988f06a04a12dca"
[[package]]
name = "time-macros"
-version = "0.2.22"
+version = "0.2.27"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3526739392ec93fd8b359c8e98514cb3e8e021beb4e5f597b00a0221f8ed8a49"
+checksum = "2e70e4c5a0e0a8a4823ad65dfe1a6930e4f4d756dcd9dd7939022b5e8c501215"
dependencies = [
"num-conv",
"time-core",
@@ -1558,6 +1588,12 @@ dependencies = [
"zerovec",
]
+[[package]]
+name = "tinyvec"
+version = "1.13.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fd3ca314f692efd6c868f8408f53fe444634a845f96c028b97d35f6a1f79f0ee"
+
[[package]]
name = "tokio"
version = "1.47.1"
@@ -1586,7 +1622,7 @@ checksum = "6e06d43f1345a3bcd39f6a56dbb7dcab2ba47e68e8ac134855e7e2bdbaf8cab8"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1790,7 +1826,7 @@ dependencies = [
"log",
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
"wasm-bindgen-shared",
]
@@ -1825,7 +1861,7 @@ checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -1870,7 +1906,7 @@ checksum = "a47fddd13af08290e67f4acabf4b459f647552718f683a7b415d290ac744a836"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -1881,7 +1917,7 @@ checksum = "bd9211b69f8dcdfa817bfd14bf1c97c9188afa36f4750130fcdf3f400eca9fa8"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -2110,7 +2146,7 @@ checksum = "38da3c9736e16c5d3c8c597a9aaa5d1fa565d0532ae05e27c24aa62fb32c0ab6"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
"synstructure",
]
@@ -2131,7 +2167,7 @@ checksum = "9ecf5b4cc5364572d7f4c329661bcc82724222973f2cab6f050a4e5c22f75181"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
[[package]]
@@ -2151,7 +2187,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
"synstructure",
]
@@ -2191,5 +2227,11 @@ checksum = "5b96237efa0c878c64bd89c436f661be4e46b2f3eff1ebb976f7ef2321d2f58f"
dependencies = [
"proc-macro2",
"quote",
- "syn",
+ "syn 2.0.104",
]
+
+[[package]]
+name = "zmij"
+version = "1.0.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b"
diff --git a/examples/deep-research-apartment-finder/requirements.txt b/examples/deep-research-apartment-finder/requirements.txt
index d79619537..17fd29041 100644
--- a/examples/deep-research-apartment-finder/requirements.txt
+++ b/examples/deep-research-apartment-finder/requirements.txt
@@ -1,3 +1,3 @@
anthropic==0.18.0
firecrawl==0.2.0
-python-dotenv==1.0.0
\ No newline at end of file
+python-dotenv==1.2.2
\ No newline at end of file
diff --git a/examples/deepseek-v3-crawler/README.md b/examples/deepseek-v3-crawler/README.md
index 8f5ffd43e..59231bedb 100644
--- a/examples/deepseek-v3-crawler/README.md
+++ b/examples/deepseek-v3-crawler/README.md
@@ -4,7 +4,7 @@ This script uses the DeepSeek V3 large language model (via Hugging Face's Infere
## Prerequisites
-- Python 3.8+
+- Python 3.10+
- A FireCrawl API key (get one at [FireCrawl's website](https://firecrawl.app))
- A Hugging Face API key with access to inference API
diff --git a/examples/deepseek-v3-crawler/requirements.txt b/examples/deepseek-v3-crawler/requirements.txt
index e179518c9..a7035c4d0 100644
--- a/examples/deepseek-v3-crawler/requirements.txt
+++ b/examples/deepseek-v3-crawler/requirements.txt
@@ -1,3 +1,3 @@
firecrawl==1.13.5
-python-dotenv==1.0.1
+python-dotenv==1.2.2
huggingface-hub>=0.20.0
\ No newline at end of file
diff --git a/examples/gemini-2.5-web-extractor/README.md b/examples/gemini-2.5-web-extractor/README.md
index a5554ea42..21f435630 100644
--- a/examples/gemini-2.5-web-extractor/README.md
+++ b/examples/gemini-2.5-web-extractor/README.md
@@ -11,7 +11,7 @@ A powerful web information extraction tool that combines Google's Gemini 2.5 Pro
## Prerequisites
-- Python 3.8 or higher
+- Python 3.10 or higher
- Google API Key (Gemini)
- Firecrawl API Key
- SerpAPI Key
diff --git a/examples/gemini-2.5-web-extractor/requirements.txt b/examples/gemini-2.5-web-extractor/requirements.txt
index b8ad3fc56..eb3eea58c 100644
--- a/examples/gemini-2.5-web-extractor/requirements.txt
+++ b/examples/gemini-2.5-web-extractor/requirements.txt
@@ -1,4 +1,4 @@
-python-dotenv==1.0.0
+python-dotenv==1.2.2
google-generativeai==0.3.2
-requests==2.32.4
+requests==2.33.0
serpapi==0.1.5
\ No newline at end of file
diff --git a/examples/gpt-4.1-company-researcher/README.md b/examples/gpt-4.1-company-researcher/README.md
index f6367a690..61aee301a 100644
--- a/examples/gpt-4.1-company-researcher/README.md
+++ b/examples/gpt-4.1-company-researcher/README.md
@@ -12,7 +12,7 @@ A Python tool that uses GPT-4.1, Firecrawl, and SerpAPI to research companies an
## Requirements
-- Python 3.8+
+- Python 3.10+
- OpenAI API key (with GPT-4.1 access)
- Firecrawl API key
- SerpAPI key
diff --git a/examples/gpt-4.1-company-researcher/requirements.txt b/examples/gpt-4.1-company-researcher/requirements.txt
index 88be9548e..953b5c746 100644
--- a/examples/gpt-4.1-company-researcher/requirements.txt
+++ b/examples/gpt-4.1-company-researcher/requirements.txt
@@ -1,4 +1,4 @@
-python-dotenv==1.0.1
-requests==2.32.4
+python-dotenv==1.2.2
+requests==2.33.0
google-search-results>=2.4.2
openai==1.12.0
diff --git a/examples/gpt-4.1-web-crawler/README.md b/examples/gpt-4.1-web-crawler/README.md
index 1cf0e5d7f..c128090c6 100644
--- a/examples/gpt-4.1-web-crawler/README.md
+++ b/examples/gpt-4.1-web-crawler/README.md
@@ -11,7 +11,7 @@ A smart web crawler powered by GPT-4.1 that intelligently searches websites to f
## Prerequisites
-- Python 3.8+
+- Python 3.10+
- Firecrawl API key
- OpenAI API key (with access to GPT-4.1 models)
diff --git a/examples/gpt-4.1-web-crawler/requirements.txt b/examples/gpt-4.1-web-crawler/requirements.txt
index 0710ac17e..13cf1f18e 100644
--- a/examples/gpt-4.1-web-crawler/requirements.txt
+++ b/examples/gpt-4.1-web-crawler/requirements.txt
@@ -1,3 +1,3 @@
firecrawl==0.11.0
openai==1.14.0
-python-dotenv==1.0.0
\ No newline at end of file
+python-dotenv==1.2.2
\ No newline at end of file
diff --git a/examples/o4-mini-web-crawler/README.md b/examples/o4-mini-web-crawler/README.md
index 11865f801..5db9054e3 100644
--- a/examples/o4-mini-web-crawler/README.md
+++ b/examples/o4-mini-web-crawler/README.md
@@ -11,7 +11,7 @@ A simple web crawler that uses Firecrawl and OpenAI's o4-mini model to search we
## Prerequisites
-- Python 3.6+
+- Python 3.10+
- Firecrawl API key
- OpenAI API key
diff --git a/examples/o4-mini-web-crawler/requirements.txt b/examples/o4-mini-web-crawler/requirements.txt
index c73ffc7e6..f36aed1cc 100644
--- a/examples/o4-mini-web-crawler/requirements.txt
+++ b/examples/o4-mini-web-crawler/requirements.txt
@@ -1,3 +1,3 @@
firecrawl==1.0.0
openai==1.16.0
-python-dotenv==1.0.0
\ No newline at end of file
+python-dotenv==1.2.2
\ No newline at end of file
diff --git a/examples/scrape_and_analyze_airbnb_data_e2b/package-lock.json b/examples/scrape_and_analyze_airbnb_data_e2b/package-lock.json
index e8680fdaf..1108f3607 100644
--- a/examples/scrape_and_analyze_airbnb_data_e2b/package-lock.json
+++ b/examples/scrape_and_analyze_airbnb_data_e2b/package-lock.json
@@ -13,7 +13,7 @@
"@e2b/code-interpreter": "^0.0.2",
"buffer": "^6.0.3",
"dotenv": "^16.4.5",
- "firecrawl": "^4.3.5"
+ "firecrawl": "^4.45.0"
},
"devDependencies": {
"@types/node": "^20.12.12",
@@ -557,13 +557,13 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
- "version": "1.18.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.0.tgz",
- "integrity": "sha512-E32NzpYKp++W7XRe52rHiXV2ehxmh3wbdgO7MHeFM+vqxLBYHzt0ElkiImtOBxtOmyp0yoC8C6uESVV84Y2/hw==",
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.20.0.tgz",
+ "integrity": "sha512-r8aOh8j9cGKpgQAqpzrUHnSIc6a59Y3Xf/cv8sy1DrHCkZHzQGEuoq1tARk6qSyDdtQGSDgpb9kFlruzPvrgwg==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
- "form-data": "^4.0.5",
+ "form-data": "^4.0.6",
"https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
@@ -816,12 +816,12 @@
}
},
"node_modules/firecrawl": {
- "version": "4.42.1",
- "resolved": "https://registry.npmjs.org/firecrawl/-/firecrawl-4.42.1.tgz",
- "integrity": "sha512-YlUDnjp8UhergCdj5cpUqN1N+/p8zdPM4NrbU/b0nrteuA4m6uIXTCU3Mrrh77NqLh38nSFiw/UDbiCrHmZKgA==",
+ "version": "4.45.0",
+ "resolved": "https://registry.npmjs.org/firecrawl/-/firecrawl-4.45.0.tgz",
+ "integrity": "sha512-4U/pTcJUN2+CC95zafeOTSXC7Rw1b4smw1vHy7t8f7BC4fif1k4kHe2wck59WPkq7ZBrQGK8Y4tRDE+dqPAkog==",
"license": "MIT",
"dependencies": {
- "axios": "1.18.0",
+ "axios": "1.20.0",
"typescript-event-target": "^1.1.1",
"zod": "^3.23.8",
"zod-to-json-schema": "^3.23.0"
@@ -831,9 +831,9 @@
}
},
"node_modules/follow-redirects": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz",
- "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==",
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.1.tgz",
+ "integrity": "sha512-FNvFGzoMLWmE6Yj9spb/zjd7yiNCHiAW9/Tg9CXrQ8wuu32HtlJOwWO11OJafl5FfY3DxTdQ0vj42zU1kvv5jg==",
"funding": [
{
"type": "individual",
@@ -851,16 +851,16 @@
}
},
"node_modules/form-data": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
- "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.6.tgz",
+ "integrity": "sha512-vKatAh4SlVfgbv+YtmhiRjhEMJsYpsG1Y2rMQtR+SVSbytsSD1YGzDIcrAJmdFec88u/+VoGmxnl+80gL1tRCQ==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
- "hasown": "^2.0.2",
- "mime-types": "^2.1.12"
+ "hasown": "^2.0.4",
+ "mime-types": "^2.1.35"
},
"engines": {
"node": ">= 6"
@@ -1003,9 +1003,9 @@
}
},
"node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
@@ -1316,9 +1316,9 @@
}
},
"node_modules/ws": {
- "version": "8.18.3",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
- "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
+ "version": "8.22.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.22.0.tgz",
+ "integrity": "sha512-Ydggc987+RO0AnWtZ/7Wq9FtNvcrL1b/RO0ud9mWjUPgDrsAAwQSF51sm2hm1XofbU/4jkpGEsLFsZZxU+1DOg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
diff --git a/examples/scrape_and_analyze_airbnb_data_e2b/package.json b/examples/scrape_and_analyze_airbnb_data_e2b/package.json
index 901879270..ff563b158 100644
--- a/examples/scrape_and_analyze_airbnb_data_e2b/package.json
+++ b/examples/scrape_and_analyze_airbnb_data_e2b/package.json
@@ -19,7 +19,7 @@
"dependencies": {
"@anthropic-ai/sdk": "^0.20.7",
"@e2b/code-interpreter": "^0.0.2",
- "firecrawl": "^4.3.5",
+ "firecrawl": "^4.45.0",
"buffer": "^6.0.3",
"dotenv": "^16.4.5"
}