firecrawl 4.3.5 → 4.3.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -8,7 +8,7 @@ var require_package = __commonJS({
8
8
  "package.json"(exports, module) {
9
9
  module.exports = {
10
10
  name: "@mendable/firecrawl-js",
11
- version: "4.3.5",
11
+ version: "4.3.6",
12
12
  description: "JavaScript SDK for Firecrawl API",
13
13
  main: "dist/index.js",
14
14
  types: "dist/index.d.ts",
package/dist/index.cjs CHANGED
@@ -35,7 +35,7 @@ var require_package = __commonJS({
35
35
  "package.json"(exports2, module2) {
36
36
  module2.exports = {
37
37
  name: "@mendable/firecrawl-js",
38
- version: "4.3.5",
38
+ version: "4.3.6",
39
39
  description: "JavaScript SDK for Firecrawl API",
40
40
  main: "dist/index.js",
41
41
  types: "dist/index.d.ts",
@@ -173,7 +173,7 @@ var HttpClient = class {
173
173
  const cfg = { ...config };
174
174
  if (cfg.method && ["post", "put", "patch"].includes(cfg.method.toLowerCase())) {
175
175
  const data = cfg.data ?? {};
176
- cfg.data = { ...data, origin: `js-sdk@${version}` };
176
+ cfg.data = { ...data, origin: typeof data.origin === "string" && data.origin.includes("mcp") ? data.origin : `js-sdk@${version}` };
177
177
  }
178
178
  const res = await this.instance.request(cfg);
179
179
  if (res.status === 502 && attempt < this.maxRetries - 1) {
@@ -1218,7 +1218,7 @@ var FirecrawlApp = class {
1218
1218
  "Content-Type": "application/json",
1219
1219
  Authorization: `Bearer ${this.apiKey}`
1220
1220
  };
1221
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1221
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1222
1222
  if (jsonData?.extract?.schema) {
1223
1223
  let schema = jsonData.extract.schema;
1224
1224
  try {
@@ -1292,7 +1292,7 @@ var FirecrawlApp = class {
1292
1292
  lang: params?.lang ?? "en",
1293
1293
  country: params?.country ?? "us",
1294
1294
  location: params?.location,
1295
- origin: `js-sdk@${this.version}`,
1295
+ origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}`,
1296
1296
  timeout: params?.timeout ?? 6e4,
1297
1297
  scrapeOptions: params?.scrapeOptions ?? { formats: [] }
1298
1298
  };
@@ -1352,7 +1352,7 @@ var FirecrawlApp = class {
1352
1352
  */
1353
1353
  async crawlUrl(url, params, pollInterval = 2, idempotencyKey) {
1354
1354
  const headers = this.prepareHeaders(idempotencyKey);
1355
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1355
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1356
1356
  try {
1357
1357
  const response = await this.postRequest(
1358
1358
  this.apiUrl + `/v1/crawl`,
@@ -1376,7 +1376,7 @@ var FirecrawlApp = class {
1376
1376
  }
1377
1377
  async asyncCrawlUrl(url, params, idempotencyKey) {
1378
1378
  const headers = this.prepareHeaders(idempotencyKey);
1379
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1379
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1380
1380
  try {
1381
1381
  const response = await this.postRequest(
1382
1382
  this.apiUrl + `/v1/crawl`,
@@ -1535,7 +1535,7 @@ var FirecrawlApp = class {
1535
1535
  */
1536
1536
  async mapUrl(url, params) {
1537
1537
  const headers = this.prepareHeaders();
1538
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1538
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1539
1539
  try {
1540
1540
  const response = await this.postRequest(
1541
1541
  this.apiUrl + `/v1/map`,
@@ -1564,7 +1564,7 @@ var FirecrawlApp = class {
1564
1564
  */
1565
1565
  async batchScrapeUrls(urls, params, pollInterval = 2, idempotencyKey, webhook, ignoreInvalidURLs, maxConcurrency) {
1566
1566
  const headers = this.prepareHeaders(idempotencyKey);
1567
- let jsonData = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: `js-sdk@${this.version}` };
1567
+ let jsonData = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1568
1568
  if (jsonData?.extract?.schema) {
1569
1569
  let schema = jsonData.extract.schema;
1570
1570
  try {
@@ -1616,7 +1616,7 @@ var FirecrawlApp = class {
1616
1616
  }
1617
1617
  async asyncBatchScrapeUrls(urls, params, idempotencyKey, webhook, ignoreInvalidURLs) {
1618
1618
  const headers = this.prepareHeaders(idempotencyKey);
1619
- let jsonData = { urls, webhook, ignoreInvalidURLs, ...params, origin: `js-sdk@${this.version}` };
1619
+ let jsonData = { urls, webhook, ignoreInvalidURLs, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1620
1620
  try {
1621
1621
  const response = await this.postRequest(
1622
1622
  this.apiUrl + `/v1/batch/scrape`,
@@ -1772,7 +1772,7 @@ var FirecrawlApp = class {
1772
1772
  try {
1773
1773
  const response = await this.postRequest(
1774
1774
  this.apiUrl + `/v1/extract`,
1775
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1775
+ { ...jsonData, schema: jsonSchema, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` },
1776
1776
  headers
1777
1777
  );
1778
1778
  if (response.status === 200) {
@@ -1836,7 +1836,7 @@ var FirecrawlApp = class {
1836
1836
  try {
1837
1837
  const response = await this.postRequest(
1838
1838
  this.apiUrl + `/v1/extract`,
1839
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1839
+ { ...jsonData, schema: jsonSchema, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` },
1840
1840
  headers
1841
1841
  );
1842
1842
  if (response.status === 200) {
@@ -2112,7 +2112,7 @@ var FirecrawlApp = class {
2112
2112
  */
2113
2113
  async asyncDeepResearch(query, params) {
2114
2114
  const headers = this.prepareHeaders();
2115
- let jsonData = { query, ...params, origin: `js-sdk@${this.version}` };
2115
+ let jsonData = { query, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2116
2116
  if (jsonData?.jsonOptions?.schema) {
2117
2117
  let schema = jsonData.jsonOptions.schema;
2118
2118
  try {
@@ -2235,7 +2235,7 @@ var FirecrawlApp = class {
2235
2235
  async __asyncDeepResearch(topic, params) {
2236
2236
  const headers = this.prepareHeaders();
2237
2237
  try {
2238
- let jsonData = { topic, ...params, origin: `js-sdk@${this.version}` };
2238
+ let jsonData = { topic, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2239
2239
  const response = await this.postRequest(
2240
2240
  `${this.apiUrl}/v1/deep-research`,
2241
2241
  jsonData,
@@ -2333,7 +2333,7 @@ var FirecrawlApp = class {
2333
2333
  */
2334
2334
  async asyncGenerateLLMsText(url, params) {
2335
2335
  const headers = this.prepareHeaders();
2336
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
2336
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2337
2337
  try {
2338
2338
  const response = await this.postRequest(
2339
2339
  `${this.apiUrl}/v1/llmstxt`,
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-FDVSGUK2.js";
3
+ } from "./chunk-R5TAYLVH.js";
4
4
 
5
5
  // src/v2/utils/httpClient.ts
6
6
  import axios from "axios";
@@ -57,7 +57,7 @@ var HttpClient = class {
57
57
  const cfg = { ...config };
58
58
  if (cfg.method && ["post", "put", "patch"].includes(cfg.method.toLowerCase())) {
59
59
  const data = cfg.data ?? {};
60
- cfg.data = { ...data, origin: `js-sdk@${version}` };
60
+ cfg.data = { ...data, origin: typeof data.origin === "string" && data.origin.includes("mcp") ? data.origin : `js-sdk@${version}` };
61
61
  }
62
62
  const res = await this.instance.request(cfg);
63
63
  if (res.status === 502 && attempt < this.maxRetries - 1) {
@@ -1065,7 +1065,7 @@ var FirecrawlApp = class {
1065
1065
  if (typeof process !== "undefined" && process.env && process.env.npm_package_version) {
1066
1066
  return process.env.npm_package_version;
1067
1067
  }
1068
- const packageJson = await import("./package-NC4JMKLV.js");
1068
+ const packageJson = await import("./package-HNRON2YA.js");
1069
1069
  return packageJson.default.version;
1070
1070
  } catch (error) {
1071
1071
  const isTest = typeof process !== "undefined" && (process.env.JEST_WORKER_ID != null || false);
@@ -1102,7 +1102,7 @@ var FirecrawlApp = class {
1102
1102
  "Content-Type": "application/json",
1103
1103
  Authorization: `Bearer ${this.apiKey}`
1104
1104
  };
1105
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1105
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1106
1106
  if (jsonData?.extract?.schema) {
1107
1107
  let schema = jsonData.extract.schema;
1108
1108
  try {
@@ -1176,7 +1176,7 @@ var FirecrawlApp = class {
1176
1176
  lang: params?.lang ?? "en",
1177
1177
  country: params?.country ?? "us",
1178
1178
  location: params?.location,
1179
- origin: `js-sdk@${this.version}`,
1179
+ origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}`,
1180
1180
  timeout: params?.timeout ?? 6e4,
1181
1181
  scrapeOptions: params?.scrapeOptions ?? { formats: [] }
1182
1182
  };
@@ -1236,7 +1236,7 @@ var FirecrawlApp = class {
1236
1236
  */
1237
1237
  async crawlUrl(url, params, pollInterval = 2, idempotencyKey) {
1238
1238
  const headers = this.prepareHeaders(idempotencyKey);
1239
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1239
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1240
1240
  try {
1241
1241
  const response = await this.postRequest(
1242
1242
  this.apiUrl + `/v1/crawl`,
@@ -1260,7 +1260,7 @@ var FirecrawlApp = class {
1260
1260
  }
1261
1261
  async asyncCrawlUrl(url, params, idempotencyKey) {
1262
1262
  const headers = this.prepareHeaders(idempotencyKey);
1263
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1263
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1264
1264
  try {
1265
1265
  const response = await this.postRequest(
1266
1266
  this.apiUrl + `/v1/crawl`,
@@ -1419,7 +1419,7 @@ var FirecrawlApp = class {
1419
1419
  */
1420
1420
  async mapUrl(url, params) {
1421
1421
  const headers = this.prepareHeaders();
1422
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
1422
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1423
1423
  try {
1424
1424
  const response = await this.postRequest(
1425
1425
  this.apiUrl + `/v1/map`,
@@ -1448,7 +1448,7 @@ var FirecrawlApp = class {
1448
1448
  */
1449
1449
  async batchScrapeUrls(urls, params, pollInterval = 2, idempotencyKey, webhook, ignoreInvalidURLs, maxConcurrency) {
1450
1450
  const headers = this.prepareHeaders(idempotencyKey);
1451
- let jsonData = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: `js-sdk@${this.version}` };
1451
+ let jsonData = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1452
1452
  if (jsonData?.extract?.schema) {
1453
1453
  let schema = jsonData.extract.schema;
1454
1454
  try {
@@ -1500,7 +1500,7 @@ var FirecrawlApp = class {
1500
1500
  }
1501
1501
  async asyncBatchScrapeUrls(urls, params, idempotencyKey, webhook, ignoreInvalidURLs) {
1502
1502
  const headers = this.prepareHeaders(idempotencyKey);
1503
- let jsonData = { urls, webhook, ignoreInvalidURLs, ...params, origin: `js-sdk@${this.version}` };
1503
+ let jsonData = { urls, webhook, ignoreInvalidURLs, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
1504
1504
  try {
1505
1505
  const response = await this.postRequest(
1506
1506
  this.apiUrl + `/v1/batch/scrape`,
@@ -1656,7 +1656,7 @@ var FirecrawlApp = class {
1656
1656
  try {
1657
1657
  const response = await this.postRequest(
1658
1658
  this.apiUrl + `/v1/extract`,
1659
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1659
+ { ...jsonData, schema: jsonSchema, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` },
1660
1660
  headers
1661
1661
  );
1662
1662
  if (response.status === 200) {
@@ -1720,7 +1720,7 @@ var FirecrawlApp = class {
1720
1720
  try {
1721
1721
  const response = await this.postRequest(
1722
1722
  this.apiUrl + `/v1/extract`,
1723
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1723
+ { ...jsonData, schema: jsonSchema, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` },
1724
1724
  headers
1725
1725
  );
1726
1726
  if (response.status === 200) {
@@ -1996,7 +1996,7 @@ var FirecrawlApp = class {
1996
1996
  */
1997
1997
  async asyncDeepResearch(query, params) {
1998
1998
  const headers = this.prepareHeaders();
1999
- let jsonData = { query, ...params, origin: `js-sdk@${this.version}` };
1999
+ let jsonData = { query, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2000
2000
  if (jsonData?.jsonOptions?.schema) {
2001
2001
  let schema = jsonData.jsonOptions.schema;
2002
2002
  try {
@@ -2119,7 +2119,7 @@ var FirecrawlApp = class {
2119
2119
  async __asyncDeepResearch(topic, params) {
2120
2120
  const headers = this.prepareHeaders();
2121
2121
  try {
2122
- let jsonData = { topic, ...params, origin: `js-sdk@${this.version}` };
2122
+ let jsonData = { topic, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2123
2123
  const response = await this.postRequest(
2124
2124
  `${this.apiUrl}/v1/deep-research`,
2125
2125
  jsonData,
@@ -2217,7 +2217,7 @@ var FirecrawlApp = class {
2217
2217
  */
2218
2218
  async asyncGenerateLLMsText(url, params) {
2219
2219
  const headers = this.prepareHeaders();
2220
- let jsonData = { url, ...params, origin: `js-sdk@${this.version}` };
2220
+ let jsonData = { url, ...params, origin: typeof params.origin === "string" && params.origin.includes("mcp") ? params.origin : `js-sdk@${this.version}` };
2221
2221
  try {
2222
2222
  const response = await this.postRequest(
2223
2223
  `${this.apiUrl}/v1/llmstxt`,
@@ -1,4 +1,4 @@
1
1
  import {
2
2
  require_package
3
- } from "./chunk-FDVSGUK2.js";
3
+ } from "./chunk-R5TAYLVH.js";
4
4
  export default require_package();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "firecrawl",
3
- "version": "4.3.5",
3
+ "version": "4.3.6",
4
4
  "description": "JavaScript SDK for Firecrawl API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/v1/index.ts CHANGED
@@ -700,7 +700,7 @@ export default class FirecrawlApp {
700
700
  "Content-Type": "application/json",
701
701
  Authorization: `Bearer ${this.apiKey}`,
702
702
  } as AxiosRequestHeaders;
703
- let jsonData: any = { url, ...params, origin: `js-sdk@${this.version}` };
703
+ let jsonData: any = { url, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
704
704
  if (jsonData?.extract?.schema) {
705
705
  let schema = jsonData.extract.schema;
706
706
 
@@ -782,7 +782,7 @@ export default class FirecrawlApp {
782
782
  lang: params?.lang ?? "en",
783
783
  country: params?.country ?? "us",
784
784
  location: params?.location,
785
- origin: `js-sdk@${this.version}`,
785
+ origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}`,
786
786
  timeout: params?.timeout ?? 60000,
787
787
  scrapeOptions: params?.scrapeOptions ?? { formats: [] },
788
788
  };
@@ -854,7 +854,7 @@ export default class FirecrawlApp {
854
854
  idempotencyKey?: string
855
855
  ): Promise<CrawlStatusResponse | ErrorResponse> {
856
856
  const headers = this.prepareHeaders(idempotencyKey);
857
- let jsonData: any = { url, ...params, origin: `js-sdk@${this.version}` };
857
+ let jsonData: any = { url, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
858
858
  try {
859
859
  const response: AxiosResponse = await this.postRequest(
860
860
  this.apiUrl + `/v1/crawl`,
@@ -883,7 +883,7 @@ export default class FirecrawlApp {
883
883
  idempotencyKey?: string
884
884
  ): Promise<CrawlResponse | ErrorResponse> {
885
885
  const headers = this.prepareHeaders(idempotencyKey);
886
- let jsonData: any = { url, ...params, origin: `js-sdk@${this.version}` };
886
+ let jsonData: any = { url, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
887
887
  try {
888
888
  const response: AxiosResponse = await this.postRequest(
889
889
  this.apiUrl + `/v1/crawl`,
@@ -1059,7 +1059,7 @@ export default class FirecrawlApp {
1059
1059
  */
1060
1060
  async mapUrl(url: string, params?: MapParams): Promise<MapResponse | ErrorResponse> {
1061
1061
  const headers = this.prepareHeaders();
1062
- let jsonData: any = { url, ...params, origin: `js-sdk@${this.version}` };
1062
+ let jsonData: any = { url, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
1063
1063
 
1064
1064
  try {
1065
1065
  const response: AxiosResponse = await this.postRequest(
@@ -1098,7 +1098,7 @@ export default class FirecrawlApp {
1098
1098
  maxConcurrency?: number,
1099
1099
  ): Promise<BatchScrapeStatusResponse | ErrorResponse> {
1100
1100
  const headers = this.prepareHeaders(idempotencyKey);
1101
- let jsonData: any = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: `js-sdk@${this.version}` };
1101
+ let jsonData: any = { urls, webhook, ignoreInvalidURLs, maxConcurrency, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
1102
1102
  if (jsonData?.extract?.schema) {
1103
1103
  let schema = jsonData.extract.schema;
1104
1104
 
@@ -1163,7 +1163,7 @@ export default class FirecrawlApp {
1163
1163
  ignoreInvalidURLs?: boolean,
1164
1164
  ): Promise<BatchScrapeResponse | ErrorResponse> {
1165
1165
  const headers = this.prepareHeaders(idempotencyKey);
1166
- let jsonData: any = { urls, webhook, ignoreInvalidURLs, ...params, origin: `js-sdk@${this.version}` };
1166
+ let jsonData: any = { urls, webhook, ignoreInvalidURLs, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
1167
1167
  try {
1168
1168
  const response: AxiosResponse = await this.postRequest(
1169
1169
  this.apiUrl + `/v1/batch/scrape`,
@@ -1339,7 +1339,7 @@ export default class FirecrawlApp {
1339
1339
  try {
1340
1340
  const response: AxiosResponse = await this.postRequest(
1341
1341
  this.apiUrl + `/v1/extract`,
1342
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1342
+ { ...jsonData, schema: jsonSchema, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` },
1343
1343
  headers
1344
1344
  );
1345
1345
 
@@ -1411,7 +1411,7 @@ export default class FirecrawlApp {
1411
1411
  try {
1412
1412
  const response: AxiosResponse = await this.postRequest(
1413
1413
  this.apiUrl + `/v1/extract`,
1414
- { ...jsonData, schema: jsonSchema, origin: `js-sdk@${this.version}` },
1414
+ { ...jsonData, schema: jsonSchema, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` },
1415
1415
  headers
1416
1416
  );
1417
1417
 
@@ -1772,7 +1772,7 @@ export default class FirecrawlApp {
1772
1772
  */
1773
1773
  async asyncDeepResearch(query: string, params: DeepResearchParams<zt.ZodSchema>): Promise<DeepResearchResponse | ErrorResponse> {
1774
1774
  const headers = this.prepareHeaders();
1775
- let jsonData: any = { query, ...params, origin: `js-sdk@${this.version}` };
1775
+ let jsonData: any = { query, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
1776
1776
 
1777
1777
  if (jsonData?.jsonOptions?.schema) {
1778
1778
  let schema = jsonData.jsonOptions.schema;
@@ -1926,7 +1926,7 @@ export default class FirecrawlApp {
1926
1926
  async __asyncDeepResearch(topic: string, params: DeepResearchParams): Promise<DeepResearchResponse | ErrorResponse> {
1927
1927
  const headers = this.prepareHeaders();
1928
1928
  try {
1929
- let jsonData: any = { topic, ...params, origin: `js-sdk@${this.version}` };
1929
+ let jsonData: any = { topic, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
1930
1930
  const response: AxiosResponse = await this.postRequest(
1931
1931
  `${this.apiUrl}/v1/deep-research`,
1932
1932
  jsonData,
@@ -2039,7 +2039,7 @@ export default class FirecrawlApp {
2039
2039
  */
2040
2040
  async asyncGenerateLLMsText(url: string, params?: GenerateLLMsTextParams): Promise<GenerateLLMsTextResponse | ErrorResponse> {
2041
2041
  const headers = this.prepareHeaders();
2042
- let jsonData: any = { url, ...params, origin: `js-sdk@${this.version}` };
2042
+ let jsonData: any = { url, ...params, origin: typeof (params as any).origin === "string" && (params as any).origin.includes("mcp") ? (params as any).origin : `js-sdk@${this.version}` };
2043
2043
  try {
2044
2044
  const response: AxiosResponse = await this.postRequest(
2045
2045
  `${this.apiUrl}/v1/llmstxt`,
@@ -53,7 +53,7 @@ export class HttpClient {
53
53
  // For POST/PUT, ensure origin is present in JSON body too
54
54
  if (cfg.method && ["post", "put", "patch"].includes(cfg.method.toLowerCase())) {
55
55
  const data = (cfg.data ?? {}) as Record<string, unknown>;
56
- cfg.data = { ...data, origin: `js-sdk@${version}` };
56
+ cfg.data = { ...data, origin: typeof data.origin === "string" && data.origin.includes("mcp") ? data.origin : `js-sdk@${version}` };
57
57
  }
58
58
  const res = await this.instance.request<T>(cfg);
59
59
  if (res.status === 502 && attempt < this.maxRetries - 1) {