{"id":27788,"library":"gaarf-exporter","title":"gaarf-exporter","description":"A Prometheus exporter for Google Ads API metrics, providing real-time monitoring of advertising accounts. Current version 1.2.1, released on 2025-02-15. Active development with irregular releases.","status":"active","version":"1.2.1","language":"python","source_language":"en","source_url":"https://github.com/felipecamargo/gaarf-exporter","tags":["google-ads","prometheus","exporter","monitoring","ads"],"install":[{"cmd":"pip install gaarf-exporter","lang":"bash","label":"Standard install from PyPI"}],"dependencies":[{"reason":"Core dependency for Google Ads query building","package":"gaarf","optional":false},{"reason":"Google Ads API client library","package":"google-ads","optional":false},{"reason":"Prometheus metrics exposition","package":"prometheus-client","optional":false}],"imports":[{"wrong":"from gaarf_exporter import GaarfPrometheusExporter","symbol":"GaarfExporter","correct":"from gaarf_exporter import GaarfExporter"}],"quickstart":{"code":"import os\nfrom gaarf_exporter import GaarfPrometheusExporter\nfrom prometheus_client import start_http_server\n\n# Set credentials via environment variables or Google ADC\nexporter = GaarfPrometheusExporter(\n    credentials={\n        \"developer_token\": os.environ.get(\"DEVELOPER_TOKEN\", \"\"),\n        \"client_id\": os.environ.get(\"CLIENT_ID\", \"\"),\n        \"client_secret\": os.environ.get(\"CLIENT_SECRET\", \"\"),\n        \"refresh_token\": os.environ.get(\"REFRESH_TOKEN\", \"\")\n    },\n    customer_id=\"123-456-7890\"\n)\n\nstart_http_server(8000)\nexporter.run()\nprint(\"Serving metrics on :8000\")","lang":"python","description":"Start a Prometheus exporter that scrapes Google Ads metrics on a schedule."},"warnings":[{"fix":"Replace credential_file='path' with credentials={'developer_token': ..., ...}","message":"In version 1.2.0 the constructor signature changed: credential_file argument was removed; use credentials dict instead.","severity":"breaking","affected_versions":">=1.2.0"},{"fix":"Implement custom backoff or use gaarf's built-in quota handling. Not configured by default.","message":"The exporter does not handle Google Ads API quota limits; if you hit rate limits, the exporter may crash with gRPC errors.","severity":"gotcha","affected_versions":"all"},{"fix":"Workaround: set a global timeout via Google Ads API client configuration before initializing exporter.","message":"Timeouts are not configurable in the current release; long-running queries may block the exporter HTTP server.","severity":"gotcha","affected_versions":"<=1.2.1"}],"env_vars":null,"search_vec":"'-02':26 '-15':27 '1.2.1':22 '2025':25 'account':19 'activ':28 'ad':9,35,39 'advertis':18 'api':10 'current':20 'develop':29 'export':3,6,37 'gaarf':2 'gaarf-export':1 'googl':8,34 'google-ad':33 'irregular':31 'metric':11 'monitor':16,38 'prometheus':5,36 'provid':12 'real':14 'real-tim':13 'releas':23,32 'time':15 'version':21","created_at":"2026-05-09T05:52:05.617134+00:00","updated_at":"2026-05-09T05:52:05.617134+00:00","problems":null,"ecosystem":"pypi","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":"gaarf-exporter","cli_version":"INFO:     Started server process [10]","type":"library","homepage":null,"github":null,"docs":null,"changelog":null,"pypi":"https://pypi.org/project/gaarf-exporter/","npm":null,"openapi_spec":null,"status_page":null,"smithery":null,"categories":["observability","gcp"],"base_url":null,"auth_type":null,"provenance":{"verified_status":"passing","verified_at":"2026-07-03","last_verified":"2026-07-03","next_check":"2026-08-02","install_tag":null}}