All URIs are relative to https://api.unifapi.com
| Method | HTTP request | Description |
|---|---|---|
| geoKeywordsSearchVolumePost | POST /geo/keywords/search-volume | Get AI search volume for keywords |
| geoMentionsAggregatedMetricsPost | POST /geo/mentions/aggregated-metrics | Aggregate LLM mention metrics by dimension |
| geoMentionsCrossAggregatedMetricsPost | POST /geo/mentions/cross-aggregated-metrics | Compare LLM mentions across labeled groups |
| geoMentionsSearchPost | POST /geo/mentions/search | Search LLM mentions of a domain or keyword |
| geoMentionsTopDomainsPost | POST /geo/mentions/top-domains | List domains most cited in LLM answers |
| geoMentionsTopPagesPost | POST /geo/mentions/top-pages | List pages most cited in LLM answers |
| geoSerpPost | POST /geo/serp | Search AI Mode generative results |
GeoKeywordsSearchVolumePost200Response geoKeywordsSearchVolumePost(geoKeywordSearchVolumeRequest)
Get AI search volume for keywords
Look up generative-AI search volume and monthly trend for up to 1000 keywords in a location and language.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoKeywordSearchVolumeRequest geoKeywordSearchVolumeRequest = new GeoKeywordSearchVolumeRequest(); // GeoKeywordSearchVolumeRequest |
try {
GeoKeywordsSearchVolumePost200Response result = apiInstance.geoKeywordsSearchVolumePost(geoKeywordSearchVolumeRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoKeywordsSearchVolumePost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoKeywordSearchVolumeRequest | GeoKeywordSearchVolumeRequest | [optional] |
GeoKeywordsSearchVolumePost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoMentionsAggregatedMetricsPost200Response geoMentionsAggregatedMetricsPost(geoMentionsAggregatedMetricsRequest)
Aggregate LLM mention metrics by dimension
Aggregate LLM mentions of a domain or keyword across platform, location, language, source/search-result domains, and brand entities.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoMentionsAggregatedMetricsRequest geoMentionsAggregatedMetricsRequest = new GeoMentionsAggregatedMetricsRequest(); // GeoMentionsAggregatedMetricsRequest |
try {
GeoMentionsAggregatedMetricsPost200Response result = apiInstance.geoMentionsAggregatedMetricsPost(geoMentionsAggregatedMetricsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoMentionsAggregatedMetricsPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoMentionsAggregatedMetricsRequest | GeoMentionsAggregatedMetricsRequest | [optional] |
GeoMentionsAggregatedMetricsPost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoMentionsCrossAggregatedMetricsPost200Response geoMentionsCrossAggregatedMetricsPost(geoMentionsCrossAggregatedMetricsRequest)
Compare LLM mentions across labeled groups
Aggregate and compare LLM mention metrics across several labeled target groups for side-by-side share-of-voice analysis.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoMentionsCrossAggregatedMetricsRequest geoMentionsCrossAggregatedMetricsRequest = new GeoMentionsCrossAggregatedMetricsRequest(); // GeoMentionsCrossAggregatedMetricsRequest |
try {
GeoMentionsCrossAggregatedMetricsPost200Response result = apiInstance.geoMentionsCrossAggregatedMetricsPost(geoMentionsCrossAggregatedMetricsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoMentionsCrossAggregatedMetricsPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoMentionsCrossAggregatedMetricsRequest | GeoMentionsCrossAggregatedMetricsRequest | [optional] |
GeoMentionsCrossAggregatedMetricsPost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoMentionsSearchPost200Response geoMentionsSearchPost(geoMentionsSearchRequest)
Search LLM mentions of a domain or keyword
Find where a domain or keyword is mentioned across ChatGPT and AI search answers, with the question, answer, cited sources, and AI search volume.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoMentionsSearchRequest geoMentionsSearchRequest = new GeoMentionsSearchRequest(); // GeoMentionsSearchRequest |
try {
GeoMentionsSearchPost200Response result = apiInstance.geoMentionsSearchPost(geoMentionsSearchRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoMentionsSearchPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoMentionsSearchRequest | GeoMentionsSearchRequest | [optional] |
GeoMentionsSearchPost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoMentionsTopDomainsPost200Response geoMentionsTopDomainsPost(geoMentionsTopDomainsRequest)
List domains most cited in LLM answers
Rank the domains most frequently cited as sources in LLM answers for a target domain or keyword, with per-dimension breakdowns.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoMentionsTopDomainsRequest geoMentionsTopDomainsRequest = new GeoMentionsTopDomainsRequest(); // GeoMentionsTopDomainsRequest |
try {
GeoMentionsTopDomainsPost200Response result = apiInstance.geoMentionsTopDomainsPost(geoMentionsTopDomainsRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoMentionsTopDomainsPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoMentionsTopDomainsRequest | GeoMentionsTopDomainsRequest | [optional] |
GeoMentionsTopDomainsPost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoMentionsTopPagesPost200Response geoMentionsTopPagesPost(geoMentionsTopPagesRequest)
List pages most cited in LLM answers
Rank the pages most frequently cited as sources in LLM answers for a target domain or keyword, with per-dimension breakdowns.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoMentionsTopPagesRequest geoMentionsTopPagesRequest = new GeoMentionsTopPagesRequest(); // GeoMentionsTopPagesRequest |
try {
GeoMentionsTopPagesPost200Response result = apiInstance.geoMentionsTopPagesPost(geoMentionsTopPagesRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoMentionsTopPagesPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoMentionsTopPagesRequest | GeoMentionsTopPagesRequest | [optional] |
GeoMentionsTopPagesPost200Response
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |
GeoSerpPost200Response geoSerpPost(geoSerpRequest)
Search AI Mode generative results
Run one live AI Mode search for generative answer evidence, cited sources, and target-domain visibility.
// Import classes:
import com.unifapi.sdk.ApiClient;
import com.unifapi.sdk.ApiException;
import com.unifapi.sdk.Configuration;
import com.unifapi.sdk.auth.*;
import com.unifapi.sdk.models.*;
import com.unifapi.sdk.api.GeoApi;
public class Example {
public static void main(String[] args) {
ApiClient defaultClient = Configuration.getDefaultApiClient();
defaultClient.setBasePath("https://api.unifapi.com");
// Configure HTTP bearer authorization: bearerAuth
HttpBearerAuth bearerAuth = (HttpBearerAuth) defaultClient.getAuthentication("bearerAuth");
bearerAuth.setBearerToken("BEARER TOKEN");
GeoApi apiInstance = new GeoApi(defaultClient);
GeoSerpRequest geoSerpRequest = new GeoSerpRequest(); // GeoSerpRequest |
try {
GeoSerpPost200Response result = apiInstance.geoSerpPost(geoSerpRequest);
System.out.println(result);
} catch (ApiException e) {
System.err.println("Exception when calling GeoApi#geoSerpPost");
System.err.println("Status code: " + e.getCode());
System.err.println("Reason: " + e.getResponseBody());
System.err.println("Response headers: " + e.getResponseHeaders());
e.printStackTrace();
}
}
}| Name | Type | Description | Notes |
|---|---|---|---|
| geoSerpRequest | GeoSerpRequest | [optional] |
- Content-Type: application/json
- Accept: application/json
| Status code | Description | Response headers |
|---|---|---|
| 200 | OK | - |
| 400 | Validation or invalid-id error | - |
| 401 | Missing, invalid, disabled, revoked, or expired UnifAPI API key | - |
| 402 | Insufficient workspace credits | - |
| 404 | Resource not found | - |
| 429 | Rate limited | - |
| 500 | Internal error | - |
| 502 | Source error | - |
| 503 | Source unavailable | - |