specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Business Software and Services Reviews | G2 providerId: business-software-and-services-reviews-g2 generated: '2026-08-14' created: '2026-05-04' modified: '2026-08-14' method: searched source: >- https://data.g2.com/openapi/v2.yaml (info.description "Rate Limiting" section) and https://documentation.g2.com/docs/g2-mcp-server. Replaces the 2026-05-04 scaffold, whose per-tier limits were invented defaults G2 does not publish. docs: https://data.g2.com/api/v2/docs/index.html description: >- G2 publishes exactly one rate limit and it is enforced at the edge, not per plan: Cloudflare limits the G2 API to 100 requests per second per source IP address. Exceeding it blocks access for 60 seconds before requests resume. The G2 MCP server calls the same API and inherits the same limit. G2 publishes no per-tier quota, no burst allowance, and no monthly cap, and the OpenAPI declares no rate-limit response headers or 429 responses on any of its 62 operations — so a client has no runtime signal and must infer throttling from connection-level blocking. limit_count: 1 limits: - name: Global API rate limit scope: source-ip metric: requests_per_second limit: 100 timeFrame: second enforced_by: Cloudflare (edge) on_exceed: Access blocked for 60 seconds before requests can resume. source: https://data.g2.com/openapi/v2.yaml applies: - G2 API V2 - G2 Data Solutions API - G2 MCP Server headers: published: false limit: null remaining: null reset: null retryAfter: null policy: null note: >- G2 documents no X-RateLimit-*/RateLimit-* response headers and no Retry-After. Grep of both OpenAPI documents finds zero rate-limit headers and zero 429 responses across 62 operations; the only documented 5xx is a 503 on createG2ActivateIndustrySearch for LLM/embedding backend failure. responseCodes: throttled: null note: >- No 429 is declared anywhere in the published contract. The documented behaviour on breach is a 60-second block at the Cloudflare edge. policies: - name: Recovery description: >- After a breach, wait out the 60-second block. Because no Retry-After is returned, clients should cap concurrency below 100 rps rather than react to a header. maintainers: - FN: Kin Lane email: kin@apievangelist.com