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

TierDaily LimitBatchWhite-labelPrice
Free (no key)10 req/day per IPFree
Free (with key)10 req/dayFree
Pro500 req/day20 companies₹499/mo
EnterpriseUnlimited100 companiesCustom

Rate limit resets at midnight UTC daily. On limit exceeded, the API returns HTTP 429 with a retry_after field.

ERROR CODES

StatusCodeMeaning
400bad_requestQuery missing or too short (<2 chars)
401unauthorizedInvalid or missing API key
403forbiddenEndpoint not available on your tier (e.g. batch on free)
429rate_limitedDaily quota exceeded. Check /usage for details.
500server_errorUnexpected error. Check /health for status.

GET /check

GET /check FreeProEnterprise

Verify a single company. Returns trust score, verdict, signals, red flags, and AI summary.

Query Parameters

ParamTypeRequiredDescription
q*stringYesCompany name, CIN number, or website domain
api_keystringNoYour 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

POST /batch ProEnterprise

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

GET /usage FreeProEnterprise

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

GET /health Public — no key required

Live status of all upstream data sources. Use this for uptime monitoring.

RESPONSE SCHEMA

FieldTypeDescription
foundbooleanAlways true for /check (live lookup always returns a result)
namestringResolved company name (may differ from input if fuzzy matched)
scoreintegerTrust score 0–100
verdictstring"verified" (≥75) · "caution" (45–74) · "fraud" (<45)
flagsstring[]List of detected risk signals in plain English
signalsobjectRaw data from all sources (see Signal Definitions)
summarystringGPT-4o-mini generated 2–3 sentence verdict
data_sourcesobject"ok" or "miss" for each source
sourcestring"live", "kv_cache", or "cache+live"
updatedstringISO date of this result

SIGNAL DEFINITIONS

SignalSourceDescription
wikipedia_existsWikipedia APIBoolean — does a Wikipedia page exist for this company?
mcaOpenCorporates"Active", "Inactive", "Not verified"
company_numberOpenCorporatesCIN / registration number
jurisdictionOpenCorporatesCountry code, e.g. "in" for India
incorporation_dateOpenCorporatesDate of company incorporation
domain_age_yearsWHOIS/RDAPAge of primary domain in years
founded_yearWikipedia / OpenCorpYear company was founded
linkedin_employeesWikipedia infoboxEmployee count from Wikipedia
headquartersWikipedia infoboxHQ location string
news_fraud_mentionsGNews / NewsAPIRaw count of fraud-related articles
news_fraud_weightedGNews / NewsAPIRecency-weighted fraud score (recent = 2x weight)

SCORING MODEL

Base score: 30. Maximum: 100. Minimum: 0.

SignalPointsNotes
Wikipedia page exists+25Strong proxy for legitimacy
Company registered (OpenCorp)+20Active status in any jurisdiction
Domain age ≥15 years+15Scaled: +13 (10yr), +10 (5yr), +7 (2yr), +4 (1yr)
Employees ≥100,000+10Scaled: +8 (10k), +6 (1k), +4 (100), +2 (10)
Founded ≥30 years ago+8Scaled: +7 (20yr), +5 (10yr), +3 (5yr)
No Wikipedia page−5Absence is a weak negative signal
Domain <6 months old−15New domains with job ads = major red flag
Fraud news (weighted >10)−40Recency-weighted: articles <3 months count 2x
Suspicious domain pattern−15e.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