# G2 — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search G2.com to discover software products, compare pricing and categories, and read customer reviews all in one place. Get detailed product overviews and ratings to make informed decisions about business software.

**Category:** Reviews & Ratings | **Website:** [g2.com/](https://g2.com/) | **Docs:** [parse.bot/marketplace/02e11b38-846f-4c7b-bbdf-6040681a670c/g2-com-api](https://parse.bot/marketplace/02e11b38-846f-4c7b-bbdf-6040681a670c/g2-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/g2/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get categories

Retrieve the full list of software categories and subcategories available on G2. Returns all categories with name, slug, and URL. No pagination — the entire catalog is returned in one response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/get-categories \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get category products

List software products within a given G2 category. Returns products with name, slug, rating, and review count. Supports pagination via page number. Each page returns approximately 15 products.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category_slug` | string | Yes | Category slug from get_categories results (e.g. 'crm', 'project-management') |
| `page` | integer | No | Page number for pagination |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/get-category-products \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category_slug":"<string>","page":"<integer>"}'
```

### Get product overview

Retrieve product overview information for a given product slug, including name, description, rating, review count, and logo URL. Uses search to locate the product and extract its details.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Product slug from search_software or get_category_products results (e.g. 'slack', 'hubspot-sales-hub') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/get-product-overview \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get product pricing

Retrieve pricing plans and features for a software product. Returns plan name, price, billing period, description, and feature list. Not all products have pricing information available.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Product slug (e.g. 'slack', 'hubspot-sales-hub') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/get-product-pricing \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get product reviews

Retrieve paginated user reviews for a given software product. Each review includes author, designation, segment, date, rating, detailed feedback (likes, dislikes, problems solved), and additional reviewer profile fields: industry (when available), employee_count_range (extracted from segment), company_name, location, and linkedin_url (null when not exposed by G2). Supports filtering by star rating and pagination.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination |
| `slug` | string | Yes | Product slug (e.g. 'slack', 'hubspot-sales-hub') |
| `star_rating` | integer | No | Filter by star rating (1-5). Omit to return reviews of all ratings. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/get-product-reviews \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","slug":"<string>","star_rating":"<integer>"}'
```

### Search software

Full-text search over G2's software product catalog. Returns matching products with name, slug, rating, review count, and description. Brand-name queries (e.g. 'slack') return detailed results with descriptions; category-style queries (e.g. 'project management') return products listed in that category. Results are returned in a single page.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `query` | string | Yes | Search keyword or query string (e.g. 'slack', 'hubspot', 'project management') |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/g2/search-software \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"query":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.