# G2 Search API (g2.search)

- Canonical page: https://everyinfra.com/en/g2-api/search
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "g2", "action": "search", "params": {...}}
- Price: $0.001389 per call ($1.39 per 1,000 requests); failed calls and empty results are not charged
- Returns: list, default 10, max 50 per call
- Mode: sync; add "mode": "async" for slow tasks

G2 Search finds software products on G2 by `keyword`, such as project management, and returns each one's name, G2 link and reviews link, description, vendor and vendor page, rating with its scale, a ten-point rating, review count, pricing type, entry type, rank in its category, the categories it belongs to, an image, and whether the listing is sponsored. It is where software research on G2 starts: buyers use it to build a shortlist, and vendors and analysts use it to see which products compete for a term and how they are rated.

`keyword` matches products and categories, not review text. A sponsored listing near the top does not mean a higher score, so read `is_sponsored` before you take the order as a ranking. To read a product's reviews, pass its G2 link to G2 Reviews, which takes a /products/<slug> address or the bare slug.

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=g2&action=search

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| keyword | not declared | yes | not declared | Specifies the search query for discovering software product entries in G2. It matches product catalog entries rather than indexing review body text. Product comparisons, alternatives, and vendor profiles require their respective object identifiers instead. |
| limit | integer (1–50) | no | 10 | The most rows to return in this call, an integer from 1 to 50. The default applies when you leave it out, and a call can return fewer rows. Larger values return 422 before any charge. |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| product_name | platform-native meaning |
| url | Link to the record on the platform. |
| reviews_url | platform-native meaning |
| description | Summary or description, usually shorter than text. |
| vendor_name | platform-native meaning |
| vendor_url | platform-native meaning |
| rating | Rating. **The scale varies by platform**: rating_scale on the same row gives the maximum (usually 5; Booking, Douban, iQIYI and NAVER use 10). Convert with rating_scale before comparing across platforms, or the comparison can come out backwards. |
| rating_scale | Maximum of rating in the same row: 5 for five-star scales, 10 for ten-point scales. Present only when the row has a rating. |
| review_count | Number of reviews, for product and business capabilities. null means not disclosed, not 0. |
| rank | platform-native meaning |
| image_url | Image link. Capabilities with several images may return an image_urls array. |
| categories | platform-native meaning |
| platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |
| rating_out_of_ten | platform-native meaning |
| pricing_type | platform-native meaning |
| item_type | platform-native meaning |
| is_sponsored | platform-native meaning |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "g2",
  "action": "search",
  "params": {
    "keyword": "project management"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "g2",
        "action": "search",
        "params": {
            "keyword": "project management",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-10-24T18:28:34Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed; the list keeps the first 2 of 10. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "g2",
  "action": "search",
  "results": [
    {
      "product_name": "Microsoft Project & Portfolio Management",
      "url": "https://www.g2.com/products/microsoft-microsoft-project-portfolio-management/reviews",
      "reviews_url": "https://www.g2.com/products/microsoft-microsoft-project-portfolio-management/reviews",
      "description": "Microsoft Project & Portfolio Management (PPM) helps you get started quickly and execute projects with ease. Built-in templates, familiar scheduling tools, and access across devices increase productivity for project managers and teams.",
      "vendor_name": "Microsoft",
      "vendor_url": "https://www.g2.com/sellers/microsoft",
      "rating": 4,
      "rating_out_of_ten": 8,
      "review_count": 1627,
      "item_type": "Software",
      "rank": 1,
      "is_sponsored": false,
      "image_url": "https://images.g2crowd.com/uploads/product/image/71cbbc9a2be6ec792b4636a61923c4e1/microsoft-microsoft-project-portfolio-management.jpg",
      "categories": [
        "Earned Value Management",
        "Project and Portfolio Management",
        "Project Management"
      ],
      "platform": "g2",
      "rating_scale": 5
    },
    {
      "product_name": "Oracle Project Management Cloud",
      "url": "https://www.g2.com/products/oracle-oracle-project-management-cloud/reviews",
      "reviews_url": "https://www.g2.com/products/oracle-oracle-project-management-cloud/reviews",
      "description": "Project Management Cloud provides modern project execution tools and methods that you can adopt as part of an Oracle Cloud Suite or deploy with existing solutions.",
      "vendor_name": "Oracle",
      "vendor_url": "https://www.g2.com/sellers/oracle",
      "rating": 3.8,
      "rating_out_of_ten": 7.6,
      "review_count": 39,
      "item_type": "Software",
      "rank": 2,
      "is_sponsored": false,
      "image_url": "https://images.g2crowd.com/uploads/product/image/aca40b5464fcf97310dbc332c2296b5c/oracle-oracle-project-management-cloud.png",
      "categories": [
        "Project Management"
      ],
      "platform": "g2",
      "rating_scale": 5
    }
  ],
  "count": 10,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### What data fields does G2 Search return?

Each result carries `product_name`, `url`, `reviews_url`, `description`, `vendor_name`, `vendor_url`, `rating` with `rating_scale`, `rating_out_of_ten`, `review_count`, `pricing_type`, `item_type`, `rank`, `categories`, `image_url` and `is_sponsored`. Individual reviews, with their text and reviewer details, are not part of search results; G2 Reviews returns them for one product.

### Does a top position mean the highest-rated product?

No. Listings with `is_sponsored` true are paid placements, and appearing first does not mean they score higher. `rank` is the product's position within its own category, not its place in your result list. Compare products on `rating` and `review_count` instead.

### Why are there two different ratings?

`rating` is read against `rating_scale` on the same row, while `rating_out_of_ten` is a ten-point score on a different scale from the five-point overall rating that G2 Reviews returns. Divide each value by its own maximum before you compare products or sources; raw numbers from different scales give misleading rankings.

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=g2
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
