Skip to main content

firecrawl-otel

OpenTelemetry instrumentation for the Firecrawl Python SDK. Trace every scrape / crawl / search / map / extract call and ship the traces and metrics to SigNoz, or any OTLP backend, without changing your Firecrawl call sites.

Firecrawl does not emit OpenTelemetry itself, so this package instruments it on the client side using the standard OpenTelemetry BaseInstrumentor pattern.

Install

pip install "firecrawl-otel[instruments]"

The [instruments] extra pulls in the Firecrawl SDK (firecrawl-py); drop it and install plain firecrawl-otel if you manage firecrawl-py yourself.

Quickstart

from firecrawl import Firecrawl
from firecrawl_otel import FirecrawlInstrumentor

FirecrawlInstrumentor().instrument()      # once, at startup

app = Firecrawl(api_key="fc-...")         # your normal client, unchanged
doc = app.scrape("https://example.com")   # automatically traced

Point the telemetry at SigNoz with standard OpenTelemetry environment variables:

# SigNoz Cloud (region = us | us2 | eu | eu2 | in | in2)
export OTEL_SERVICE_NAME=my-app
export OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.us.signoz.cloud:443
export OTEL_EXPORTER_OTLP_HEADERS=signoz-ingestion-key=<your-key>

For self-hosted SigNoz use http://localhost:4317 and no headers.

Zero-code option

Because the package registers an opentelemetry_instrumentor entry point, the OpenTelemetry CLI can enable it with no code change at all:

pip install "firecrawl-otel[instruments]" opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install
opentelemetry-instrument python your_app.py

What you get in SigNoz

Traces: one span per Firecrawl call:

Span attribute Example
firecrawl.operation scrape, crawl, search, map
url.full https://example.com
firecrawl.query what is opentelemetry (search)
firecrawl.formats markdown,html
firecrawl.results 5
firecrawl.credits_used 12
firecrawl.status completed

Metrics:

Metric Type Description
firecrawl.requests counter Calls, tagged by firecrawl.operation + outcome (ok/error)
firecrawl.request.duration histogram (ms) Latency per call
firecrawl.credits.used counter Firecrawl credits consumed
firecrawl.results.returned histogram Documents/pages/results returned

Notes

  • Call instrument() before creating the Firecrawl client. The unified client binds its methods at construction time, so instrument at startup (as in the quickstart); clients created afterwards are traced.
  • This library configures no exporters. Exporter setup stays with your app (the OTEL_* env vars above, or opentelemetry-instrument). That keeps it composable with the rest of your OpenTelemetry setup.
  • Pass explicit providers if you don't use the globals: FirecrawlInstrumentor().instrument(tracer_provider=tp, meter_provider=mp).
  • Disable again with FirecrawlInstrumentor().uninstrument().
  • A runnable end-to-end demo (scrape → search → crawl) lives in examples/.

Development

pip install -e ".[dev]"
pytest
python -m build && twine check dist/*

License

Apache-2.0

Metadata

Release files for firecrawl-otel 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for firecrawl-otel 0.1.1
File Size Uploaded Provenance Actions
firecrawl_otel-0.1.1.tar.gz 14.0 kB With provenance Details for firecrawl_otel-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for firecrawl-otel 0.1.1
File Interpreter ABI Platform Actions
firecrawl_otel-0.1.1-py3-none-any.whl Python 3 none any Details for firecrawl_otel-0.1.1-py3-none-any.whl

Total release size: 28.8 kB

Release files / firecrawl_otel-0.1.1.tar.gz

Download URL firecrawl_otel-0.1.1.tar.gz
Size 14.0 kB
Tags Source
SHA-256 checksum
How to use checksums
910455cbb1e97896b5cd6626d6fc2c56ad4d3695ed575090d4cd249e38653a1e
BLAKE2b-256 checksum
How to use checksums
9bd65065042bf145873552608c555d25a6852f2dc6f939c3df5875a16785da49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Release files / firecrawl_otel-0.1.1-py3-none-any.whl

Download URL firecrawl_otel-0.1.1-py3-none-any.whl
Size 14.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
272520b659ffa01e51f803fb8e31a4faef15b560c261334e1986bb5e0d830841
BLAKE2b-256 checksum
How to use checksums
1ecf604f0aa01cac136c852cb6133664222f1ae96af47806bb983bb015c2351c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

Security for firecrawl-otel 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for firecrawl_otel-0.1.1.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 14, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page