MCPcopy
hub / github.com/firecrawl/firecrawl / runCrawlTarget

Function runCrawlTarget

apps/api/src/services/monitoring/runner.ts:451–634  ·  view source on GitHub ↗
(params: {
  monitor: MonitorRow;
  check: MonitorCheckRow;
  target: MonitorTarget;
})

Source from the content-addressed store, hash-verified

449}
450
451async function runCrawlTarget(params: {
452 monitor: MonitorRow;
453 check: MonitorCheckRow;
454 target: MonitorTarget;
455}): Promise<{ pages: PageResult[]; credits: number; targetResult: any }> {
456 if (params.target.type !== "crawl") {
457 return { pages: [], credits: 0, targetResult: null };
458 }
459
460 const crawlId = uuidv7();
461 const body = crawlRequestSchema.parse({
462 url: params.target.url,
463 ...(params.target.crawlOptions ?? {}),
464 scrapeOptions: withMonitorScrapeDefaults(params.target.scrapeOptions ?? {}),
465 origin: "monitor",
466 }) as CrawlRequest;
467
468 await logRequest({
469 id: crawlId,
470 kind: "crawl",
471 api_version: "v2",
472 team_id: params.monitor.team_id,
473 origin: "monitor",
474 integration: null,
475 target_hint: body.url,
476 zeroDataRetention: false,
477 api_key_id: null,
478 });
479
480 const crawlerOptions = {
481 ...body,
482 url: undefined,
483 scrapeOptions: undefined,
484 prompt: undefined,
485 };
486
487 const sc: StoredCrawl = {
488 originUrl: body.url,
489 crawlerOptions: toV0CrawlerOptions(crawlerOptions),
490 scrapeOptions: body.scrapeOptions,
491 internalOptions: {
492 disableSmartWaitCache: true,
493 teamId: params.monitor.team_id,
494 saveScrapeResultToGCS: !!config.GCS_FIRE_ENGINE_BUCKET_NAME,
495 zeroDataRetention: false,
496 bypassBilling: true,
497 },
498 team_id: params.monitor.team_id,
499 createdAt: Date.now(),
500 maxConcurrency: body.maxConcurrency,
501 zeroDataRetention: false,
502 };
503
504 const crawler = crawlToCrawler(crawlId, sc, null);
505 try {
506 sc.robots = await crawler.getRobotsTxt(
507 body.scrapeOptions.skipTlsVerification,
508 );

Callers

nothing calls this directly

Calls 15

logRequestFunction · 0.90
toV0CrawlerOptionsFunction · 0.90
crawlToCrawlerFunction · 0.90
resolveNewGroupBackendFunction · 0.90
saveCrawlFunction · 0.90
markCrawlActiveFunction · 0.90
_addScrapeJobToBullMQFunction · 0.90
getJobFromGCSFunction · 0.90
hashMonitorUrlFunction · 0.90
listActiveMonitorPagesFunction · 0.90
upsertMonitorPageFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…