REST API · Live

Rival Audit Tool API Documentation

A production REST API for rival audit tool workflows: run a full competitor SEO audit, spy on competitor keywords, analyze competitor backlinks by position, and track displacement alerts — all from a single REST call. One HTTP request returns a ranked list of competing domains, their SERP positions, estimated organic traffic, and active displacement signals. $0.005 per competitor audit — half of SpyFu's Kombat API rate. 5,000 free credits (24-hour trial), no credit card.

$0.005 / audit No subscription required 5,000 free credits (24-hour trial) No credit card Displacement alerts Sentiment + citation data
Get an API key (free) Quick start See pricing API docs

Quick start — rival audit tool in one API call

Sign up, copy your key from the dashboard, and GET the competitor displacement endpoint. The response arrives synchronously — no polling required. Optionally enrich the result with the /sentiment and /citation/velocity endpoints for a complete competitive picture.

# Competitor displacement audit
curl "https://api.pixelapi.dev/v1/geomind/competitor/displacement?keyword=seo+software" \
  -H "Authorization: Bearer YOUR_API_KEY"
# Response:
# {
#   "keyword": "seo software",
#   "scanned_at": "2026-10-13T10:00:00Z",
#   "competitors": [
#     {"domain": "semrush.com", "position": 1, "change": 0, "estimated_traffic": 42500},
#     {"domain": "ahrefs.com",  "position": 2, "change": 1,  "estimated_traffic": 38200},
#     ...
#   ],
#   "total_competitors": 5,
#   "displacement_alerts": 2
# }

# Save the audit to your scan history
curl -X POST "https://api.pixelapi.dev/v1/geomind/scan/save" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url":"mysite.com","keyword":"seo software","score":82,"grade":"A"}'
pip install pixelapi
---
from pixelapi import PixelAPI

client = PixelAPI(api_key="YOUR_API_KEY")

# Full competitor SEO audit
audit = client.geomind.competitor_displacement(keyword="seo software")
for rival in audit["competitors"]:
    print(f"{rival['domain']} — pos {rival['position']}, traffic {rival['estimated_traffic']:,}")

# Enrich with sentiment data
sentiment = client.geomind.sentiment(keyword="seo software")
print(f"Sentiment: {sentiment['overall']} (score {sentiment['score']})")

# Citation velocity
velocity = client.geomind.citation_velocity(keyword="seo software")
print(f"Citations 7d: {velocity['velocity_7d']}, acceleration: {velocity['acceleration']}")
npm install pixelapi
---
import { PixelAPI } from "pixelapi";

const client = new PixelAPI({ apiKey: process.env.PIXELAPI_KEY });

// Competitor SEO audit
const audit = await client.geomind.competitorDisplacement({ keyword: "seo software" });
for (const rival of audit.competitors) {
  console.log(`${rival.domain} — position ${rival.position}, Δ${rival.change}`);
}

// Check active alerts
const alerts = await client.geomind.alerts();
const highSeverity = alerts.alerts.filter(a => a.severity === "high");
console.log(`${highSeverity.length} high-severity alerts active`);
composer require pixelapi/pixelapi
---
<?php
use PixelAPI\Client;

$client = new Client(getenv("PIXELAPI_KEY"));

// Competitor displacement audit
$audit = $client->geomind()->competitorDisplacement(["keyword" => "seo software"]);
foreach ($audit["competitors"] as $rival) {
    echo $rival["domain"] . " — position " . $rival["position"] . "\n";
}

// Save the audit
$client->geomind()->saveScan([
    "url" => "mysite.com",
    "keyword" => "seo software",
    "score" => 82,
    "grade" => "A"
]);
gem install pixelapi
---
require "pixelapi"

client = PixelAPI::Client.new(api_key: ENV["PIXELAPI_KEY"])

# Competitor audit
audit = client.geomind.competitor_displacement(keyword: "seo software")
audit["competitors"].each do |rival|
  puts "#{rival['domain']} — pos #{rival['position']}, traffic #{rival['estimated_traffic']}"
end

# Citation velocity check
velocity = client.geomind.citation_velocity(keyword: "seo software")
puts "7-day velocity: #{velocity['velocity_7d']}"
go get github.com/pixelapi/pixelapi-go
---
import "github.com/pixelapi/pixelapi-go"

client := pixelapi.New("YOUR_API_KEY")

// Competitor displacement audit
audit, err := client.Geomind.CompetitorDisplacement("seo software")
if err != nil { panic(err) }
for _, rival := range audit.Competitors {
    fmt.Printf("%s — pos %d, traffic %d\n", rival.Domain, rival.Position, rival.EstimatedTraffic)
}

// Active alerts
alerts, err := client.Geomind.Alerts()
if err != nil { panic(err) }
fmt.Printf("%d active alerts\n", alerts.ActiveAlerts)

Pricing — rival audit tool API vs SpyFu, SEMrush, Ahrefs

ProviderPlan requiredPer-audit costAPI model
PixelAPI None — pay per call $0.005 REST, pay-as-you-go
SpyFu$119/mo minimum for API access~$0.01 (Kombat API, $1.00 CPM × 10 rows)CPM (per 1,000 rows returned)
SEMrushAdvanced ($549/mo) + separate unit packagesSee semrush.com/pricingUnits-based, contact sales
AhrefsLite ($129/mo) and aboveSee ahrefs.com/pricingUnits-based, row + field charges

Pricing verified from each rival's public pricing page October 2026. SpyFu: developer.spyfu.com/docs/api-pricing (Kombat API at $1.00/1,000 rows). SEMrush and Ahrefs do not publish per-call rates — see their pricing pages for current unit package costs. PixelAPI's per-audit price is set at exactly half SpyFu's Kombat API rate per our pricing principle.

What the rival audit tool API returns

Competitor displacement report

GET /v1/geomind/competitor/displacement returns competing domains ranked by SERP position, position change delta (±), estimated monthly organic traffic, total competitor count, and an active displacement alert count — all in one synchronous response.

Keyword sentiment analysis

GET /v1/geomind/sentiment returns an overall bullish/bearish score (0–1), breakdown by news, social, and blog sources, 24h mention counts, a 7-day trend array, and top-cited headlines with source attribution.

Citation velocity

GET /v1/geomind/citation/velocity returns total citation count, velocity windows (24h/7d/30d), a daily trend array, top citing domains, and an acceleration score — useful for spotting keywords gaining editorial momentum before competitors do.

Scan history & alerts

POST /v1/geomind/scan/save stores audit results (url, keyword, score, grade) with a scan ID. GET /v1/geomind/scan/history returns past scans. GET /v1/geomind/alerts returns active rank-drop, new-competitor, and sentiment-spike alerts across all tracked keywords.

API endpoints reference

EndpointMethodDescriptionKey params
/v1/geomind/competitor/displacementGETCompetitor SEO audit for a keywordkeyword (required)
/v1/geomind/sentimentGETKeyword sentiment across news, social, blogskeyword (required)
/v1/geomind/citation/velocityGETCitation volume and acceleration trendskeyword (required)
/v1/geomind/scan/savePOSTPersist an audit result to scan historyurl, keyword, score, grade
/v1/geomind/scan/historyGETRetrieve recent audit history with gradesnone
/v1/geomind/alertsGETActive alerts (rank drops, new entrants, spikes)none

Common workflows for SEO agencies and in-house teams

The rival audit tool API powers these production SEO workflows. Related API documentation:

Keyword position tracking

Track SERP rank changes and get alerts when your positions shift. Combine with competitor displacement for a full SERP picture.

Open-source rank tracker

Self-hostable rank tracking patterns and open-source integration examples using the geomind API suite.

SEMrush alternative workflows

Reproduce core SEMrush competitor research features with the geomind API at a fraction of the cost.

Ahrefs alternative workflows

Ahrefs-style competitive gap analysis and backlink position data via REST without a monthly subscription.

SpyFu alternative workflows

Spy on competitor keywords and PPC overlap data at half the per-call cost of SpyFu's API.

Full API reference

Complete geomind endpoint documentation including response schemas, error codes, and pagination.

Comparison vs alternatives

vs SEMrush

No $549/month plan required. Pay $0.005 per audit vs SEMrush's contact-sales unit pricing. REST API with no SDK lock-in.

vs Ahrefs

No $129/month plan required. No row-caps per request. Synchronous responses vs Ahrefs' async batch model for most endpoints.

vs SpyFu

Half the per-call cost of SpyFu's Kombat API. No plan requirement. Sentiment + citation velocity included at the same price point.

Complement: Keyword tracker

Pair competitor displacement with rank tracking to get both offensive (spying on rivals) and defensive (tracking your own positions) data in one pipeline.

Rate limits & error handling

20 requests/minute on the free trial, 60 on Starter, 120 on Pro, and 300 on Scale, with 3/10/20/50 concurrent requests respectively (see pixelapi.dev/docs). Exceeding the limit returns HTTP 429 with a Retry-After header. Recommended: exponential backoff starting at 2s, doubling on each retry up to 30s. The Python and Node SDKs handle this automatically.

# Python SDK auto-retries 429 with backoff
from pixelapi import PixelAPI
client = PixelAPI(api_key="...", max_retries=4)
audit = client.geomind.competitor_displacement(keyword="seo software")  # auto-retries on 429

Common HTTP error codes:

CodeMeaningAction
400Missing or invalid keyword parameterCheck request params; keyword is required and non-empty
401Invalid or missing API keyCheck Authorization header: Bearer YOUR_KEY
402Insufficient creditsTop up at pixelapi.dev/app or check remaining balance
429Rate limit exceededBack off per Retry-After header
500Internal server errorRetry once; if persistent, contact support@pixelapi.dev

Frequently asked questions

How do I run a competitor SEO audit via the API?

GET https://api.pixelapi.dev/v1/geomind/competitor/displacement?keyword=your+keyword with your API key in the Authorization: Bearer header. The endpoint returns competitor domains, their SERP positions, estimated monthly traffic, and displacement alerts in a single synchronous JSON response.

What does the rival audit tool API cost?

$0.005 per competitor audit call — half of SpyFu's Kombat API rate ($1.00/1,000 rows; a 10-competitor audit = $0.01 at SpyFu). New accounts get 5,000 free credits (24-hour trial) with no credit card, enough for 1,000 competitor audits before paying anything.

What data does the competitor displacement endpoint return?

Each response includes: competing domain names, their current SERP position (rank 1–N), position change delta vs. the previous scan, estimated monthly organic traffic per competitor, total competitor count, and an active displacement alert count. The scanned_at timestamp is always in UTC ISO 8601.

Can I track sentiment alongside competitor positions?

Yes. GET /v1/geomind/sentiment?keyword=... returns an overall bullish/bearish score, breakdown by news, social media, and blog sources with 24h mention counts, and a 7-day trend array — all in a single call. Combine with competitor displacement for a full content + SERP intelligence pipeline.

How do I get citation velocity for a keyword?

GET /v1/geomind/citation/velocity?keyword=... returns total citation count, velocity over 24h/7d/30d windows, a 7-day daily trend array, top citing domains, and an acceleration score (positive = growing faster). Useful for spotting keywords gaining editorial momentum before your competitors.

How does this rival audit tool compare to SpyFu, SEMrush, and Ahrefs?

PixelAPI is a pay-per-call REST API — no mandatory monthly plan. SpyFu API requires a $119/month plan minimum. SEMrush API requires their Advanced plan at $549/month plus separately purchased unit packages at non-published rates. Ahrefs includes API units in plans from $129/month but applies row-per-request caps. PixelAPI charges $0.005 per audit with no subscription — start with 5,000 free credits, pay only for what you use.

Is there a Python SDK for the rival audit tool API?

Yes — pip install pixelapi. Official SDKs are also available for Node.js (npm install pixelapi), PHP (Composer), Ruby (Gem), Go (go get), and Java/Kotlin. All SDKs handle authentication, retry-on-429 with exponential backoff, and return typed response objects.

What rate limits apply?

20 requests/minute on the free trial, 60 on Starter, 120 on Pro, and 300 on Scale, with 3/10/20/50 concurrent requests respectively. Exceeding the limit returns HTTP 429 with a Retry-After header. The Python and Node SDKs handle retries automatically. Higher limits available for bulk workloads — email support@pixelapi.dev.

Can I save and retrieve past competitor audits?

Yes. POST /v1/geomind/scan/save stores an audit result (url, keyword, score, grade) and returns a unique scan_id. Retrieve your full audit history with GET /v1/geomind/scan/history, which returns the latest scans with timestamps, grades (A+ to F), and scores (0–100).

How do alerts work?

GET /v1/geomind/alerts returns all active alerts across your tracked keywords: rank drops, new competitors entering the top 5, sentiment spikes, and citation surges. Each alert includes a severity level (high/medium/low), the affected keyword, a human-readable message, and a UTC timestamp. Alerts are produced automatically as you run audits.

Start free — 5,000 credits, no card Read full API docs Compare all plans