{"id":446,"library":"opentelemetry-instrumentation-requests","title":"OpenTelemetry Requests Instrumentation","description":"Provides tracing capabilities for HTTP requests made using the 'requests' library. Current version: 0.61b0. Release cadence: beta releases with incremental improvements.","status":"active","version":"0.61b0","language":"python","source_language":"en","source_url":"https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/requests","tags":["OpenTelemetry","requests","instrumentation","tracing"],"install":[{"cmd":"pip install opentelemetry-instrumentation-requests","lang":"bash","label":"Install OpenTelemetry Requests Instrumentation"}],"dependencies":[{"reason":"Required for HTTP request instrumentation","package":"requests"}],"imports":[{"wrong":"from opentelemetry.instrumentation.requests import RequestsInstrumentor","symbol":"RequestsInstrumentor","correct":"from opentelemetry.instrumentation.requests import RequestsInstrumentor"}],"quickstart":{"code":"import os\nfrom opentelemetry.instrumentation.requests import RequestsInstrumentor\nfrom opentelemetry import trace\nfrom opentelemetry.sdk.trace import TracerProvider\nfrom opentelemetry.sdk.trace.export import BatchSpanProcessor\nfrom opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter\nfrom opentelemetry.sdk.resources import Resource, SERVICE_NAME\n\n# Set up the OpenTelemetry SDK\nresource = Resource.create({SERVICE_NAME: 'my-service'})\nprovider = TracerProvider(resource=resource)\nprovider.add_span_processor(BatchSpanProcessor(OTLPSpanExporter()))\nprovider.register()\n\n# Instrument the 'requests' library\nRequestsInstrumentor().instrument()\n\n# Make an HTTP request\nimport requests\nresponse = requests.get('https://api.example.com')\nprint(response.status_code)","lang":"python","description":"This script sets up OpenTelemetry tracing, instruments the 'requests' library, and makes an HTTP GET request to 'https://api.example.com'."},"warnings":[{"fix":"Ensure 'RequestsInstrumentor().instrument()' is called before importing 'requests'.","message":"Instrumenting after importing 'requests' may result in incomplete tracing due to module caching.","severity":"breaking","affected_versions":"all"},{"fix":"Verify the environment variable is set with the correct regex patterns to exclude desired URLs.","message":"Setting 'OTEL_PYTHON_REQUESTS_EXCLUDED_URLS' to exclude certain URLs may not work if the environment variable is not set correctly.","severity":"gotcha","affected_versions":"all"},{"fix":"Install the 'requests' package using pip: 'pip install requests'.","message":"The 'requests' package is a direct dependency of opentelemetry-instrumentation-requests and must be installed.","severity":"breaking","affected_versions":"all"},{"fix":"Install the 'requests' library using `pip install requests`.","message":"The 'requests' library is a required dependency for 'opentelemetry-instrumentation-requests' and must be installed. The absence of 'requests' will cause a `ModuleNotFoundError`.","severity":"breaking","affected_versions":"all"}],"env_vars":null,"search_vec":"'0.61':17 'b0':18 'beta':21 'cadenc':20 'capabl':6 'current':15 'http':8 'improv':25 'increment':24 'instrument':3,28 'librari':14 'made':10 'opentelemetri':1,26 'provid':4 'releas':19,22 'request':2,9,13,27 'trace':5,29 'use':11 'version':16","created_at":"2026-03-28T12:02:56.658607+00:00","updated_at":"2026-04-16T17:43:47.119306+00:00","problems":{"verify_error":"Traceback (most recent call last):\n  File \"<string>\", line 1, in <module>\n  File \"/tmp/tmpox1h1ft1/venv/lib/python3.12/site-packages/opentelemetry/instrumentation/requests/__init__.py\", line 181, in <module>\n    from requests.models import PreparedRequest, Response\nModuleNotFoundError: No module nam"},"ecosystem":"pypi","meta_description":null,"install_score":0,"quickstart_score":0,"quickstart_tag":"stale","pypi_latest":"0.63b1","cli_name":"","cli_version":null,"type":"library","homepage":"https://opentelemetry.io","github":"https://github.com/open-telemetry/opentelemetry-python-contrib","docs":null,"changelog":null,"pypi":"https://pypi.org/project/opentelemetry-instrumentation-requests/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["observability","http-networking","aws","gcp","azure"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"import_fail","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-07-10","install_tag":"stale"}}