API DOCS
REST API for real-time company fraud verification. Verify any company in under 5 seconds using live data from Wikipedia, OpenCorporates, WHOIS, and NewsAPI.
Base URL: https://verdict-worker.shopfarnow.workers.dev
OVERVIEW
The VerdictNxtGen API returns a trust score (0–100), a verdict (verified / caution / fraud), detected red flags, and a GPT-4o-mini generated summary for any company name.
All responses are JSON. All endpoints support CORS. HTTPS only.
AUTHENTICATION
Pass your API key as an HTTP header or query parameter.
# Header (recommended) X-API-Key: vng_p_your_api_key_here # Query param (for simple integrations) GET /check?q=Infosys&api_key=vng_p_your_api_key_here
No key? The API works without a key but is limited to 10 requests/day per IP (free tier).
Generate a Free API Key
RATE LIMITS
| Tier | Daily Limit | Batch | White-label | Price |
|---|---|---|---|---|
| Free (no key) | 10 req/day per IP | — | — | Free |
| Free (with key) | 10 req/day | — | — | Free |
| Pro | 500 req/day | 20 companies | — | ₹499/mo |
| Enterprise | Unlimited | 100 companies | ✓ | Custom |
Rate limit resets at midnight UTC daily. On limit exceeded, the API returns HTTP 429 with a retry_after field.
ERROR CODES
| Status | Code | Meaning |
|---|---|---|
| 400 | bad_request | Query missing or too short (<2 chars) |
| 401 | unauthorized | Invalid or missing API key |
| 403 | forbidden | Endpoint not available on your tier (e.g. batch on free) |
| 429 | rate_limited | Daily quota exceeded. Check /usage for details. |
| 500 | server_error | Unexpected error. Check /health for status. |
GET /check
Verify a single company. Returns trust score, verdict, signals, red flags, and AI summary.
Query Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| q* | string | Yes | Company name, CIN number, or website domain |
| api_key | string | No | Your API key (or use X-API-Key header) |
Try It
Example Request
curl -X GET \ "https://verdict-worker.shopfarnow.workers.dev/check?q=Infosys" \ -H "X-API-Key: vng_p_your_key_here"
Example Response
{
"found": true,
"source": "live",
"name": "Infosys",
"score": 91,
"verdict": "verified",
"flags": [],
"signals": {
"wikipedia_exists": true,
"mca": "Active",
"domain_age_years": 26.4,
"founded_year": 1981,
"linkedin_employees": 317240,
"headquarters": "Bengaluru, Karnataka, India",
"news_fraud_mentions": 0
},
"summary": "Infosys is a well-established, publicly listed IT company founded in 1981. Your recruiter's email should come from @infosys.com — never @infosys-careers.in or similar. Never pay any fee for interviews or onboarding.",
"data_sources": {
"wikipedia": "ok",
"opencorporates": "ok",
"whois": "ok",
"news": "ok"
},
"updated": "2026-05-27"
}
POST /batch
Verify multiple companies in one request. Pro: up to 20. Enterprise: up to 100. Results run in parallel — typically under 6 seconds for 20 companies.
Request Body
{
"companies": [
"Infosys",
"TechNova Solutions Pvt Ltd",
"Wipro Limited"
]
}
Example Request
curl -X POST \
"https://verdict-worker.shopfarnow.workers.dev/batch" \
-H "X-API-Key: vng_p_your_key_here" \
-H "Content-Type: application/json" \
-d '{"companies":["Infosys","TechNova Solutions Pvt Ltd"]}'
Example Response
{
"total": 2,
"summary": { "verified": 1, "caution": 0, "fraud": 1 },
"results": [
{ "name": "Infosys", "score": 91, "verdict": "verified", ... },
{ "name": "TechNova Solutions Pvt Ltd", "score": 12, "verdict": "fraud", ... }
]
}
GET /usage
Check your current daily usage and remaining quota.
curl "https://verdict-worker.shopfarnow.workers.dev/usage" \ -H "X-API-Key: vng_p_your_key_here"
{
"tier": "pro",
"used": 47,
"limit": 500,
"remaining": 453,
"reset": "midnight UTC"
}
GET /health
Live status of all upstream data sources. Use this for uptime monitoring.
RESPONSE SCHEMA
| Field | Type | Description |
|---|---|---|
| found | boolean | Always true for /check (live lookup always returns a result) |
| name | string | Resolved company name (may differ from input if fuzzy matched) |
| score | integer | Trust score 0–100 |
| verdict | string | "verified" (≥75) · "caution" (45–74) · "fraud" (<45) |
| flags | string[] | List of detected risk signals in plain English |
| signals | object | Raw data from all sources (see Signal Definitions) |
| summary | string | GPT-4o-mini generated 2–3 sentence verdict |
| data_sources | object | "ok" or "miss" for each source |
| source | string | "live", "kv_cache", or "cache+live" |
| updated | string | ISO date of this result |
SIGNAL DEFINITIONS
| Signal | Source | Description |
|---|---|---|
| wikipedia_exists | Wikipedia API | Boolean — does a Wikipedia page exist for this company? |
| mca | OpenCorporates | "Active", "Inactive", "Not verified" |
| company_number | OpenCorporates | CIN / registration number |
| jurisdiction | OpenCorporates | Country code, e.g. "in" for India |
| incorporation_date | OpenCorporates | Date of company incorporation |
| domain_age_years | WHOIS/RDAP | Age of primary domain in years |
| founded_year | Wikipedia / OpenCorp | Year company was founded |
| linkedin_employees | Wikipedia infobox | Employee count from Wikipedia |
| headquarters | Wikipedia infobox | HQ location string |
| news_fraud_mentions | GNews / NewsAPI | Raw count of fraud-related articles |
| news_fraud_weighted | GNews / NewsAPI | Recency-weighted fraud score (recent = 2x weight) |
SCORING MODEL
Base score: 30. Maximum: 100. Minimum: 0.
| Signal | Points | Notes |
|---|---|---|
| Wikipedia page exists | +25 | Strong proxy for legitimacy |
| Company registered (OpenCorp) | +20 | Active status in any jurisdiction |
| Domain age ≥15 years | +15 | Scaled: +13 (10yr), +10 (5yr), +7 (2yr), +4 (1yr) |
| Employees ≥100,000 | +10 | Scaled: +8 (10k), +6 (1k), +4 (100), +2 (10) |
| Founded ≥30 years ago | +8 | Scaled: +7 (20yr), +5 (10yr), +3 (5yr) |
| No Wikipedia page | −5 | Absence is a weak negative signal |
| Domain <6 months old | −15 | New domains with job ads = major red flag |
| Fraud news (weighted >10) | −40 | Recency-weighted: articles <3 months count 2x |
| Suspicious domain pattern | −15 | e.g. "accenture-careers.xyz" mimicking real brands |
PLANS & TIERS
To upgrade from Free to Pro, email hello@verditnxtgen.com with your API key. Razorpay payment integration coming soon.
SDKS & EXAMPLES
JavaScript / Node.js
// npm install node-fetch (or use native fetch in Node 18+)
const res = await fetch(
'https://verdict-worker.shopfarnow.workers.dev/check?q=Infosys',
{ headers: { 'X-API-Key': 'vng_p_your_key' } }
);
const { name, score, verdict, summary } = await res.json();
console.log(`${name}: ${score}/100 — ${verdict}`);
Python
# pip install requests
import requests
r = requests.get(
'https://verdict-worker.shopfarnow.workers.dev/check',
params={'q': 'Infosys'},
headers={'X-API-Key': 'vng_p_your_key'}
)
data = r.json()
print(f"{data['name']}: {data['score']}/100 — {data['verdict']}")
Embed Widget (iframe)
<!-- Add to any webpage — no API key needed for embed -->
<iframe
src="https://verditnxtgen.com/widget.html"
width="100%"
height="500"
frameborder="0"
style="border-radius:12px"
></iframe>
Questions? Email hello@verditnxtgen.com · Privacy Policy · Terms of Service