Keyword Scan API

Keyword and redirect screening of URLs–to stay compliant.

A lightweight HTTP API: you send one or more URLs (for example a cardholder return URL, checkout confirmation, or merchant landing page). We fetch each page, follow redirects, and run the same risk keyword catalogue we use in production. You get back compact JSON—ideal for scoring rules, queues, or PSP workflows—without WHOIS, Trustpilot, IP intelligence, or the rest of our full report stack.

Why payment and risk teams use it

  • PSPs can POST a redirect or callback URL (e.g. after 3‑D Secure or wallet return) and receive structured results in milliseconds after our fetch completes—ready to plug into rule engines, velocity checks, or manual review queues.
  • Each row in the response mirrors what you would see in our internal bulk scanner: input URL, whether the request redirected, final URL, keyword hits with categories, and match context snippets.
  • This API is separate from our Full Report API (/api/analyze, /api/analyze-ip), which returns the complete website or IP intelligence report including hosting, SSL, reviews, and aggregate risk scoring.

Authentication and limits

  • Send your API key as Authorization: Bearer <key> or X-API-Key: <key>.
  • Keys are issued per customer. Default rate limit: 600 requests per hour per key (configurable). Responses include 429 when exceeded.
  • Up to 100 URLs per request (one per line in the urls body string).

Endpoint

POST https://osintintel.com/api/v1/keyword-scan

Body: JSON with a single field urls—a string containing one URL per line (same format as our bulk admin tool).

curl -sS -X POST "https://osintintel.com/api/v1/keyword-scan" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls":"https://example.com/return\nhttps://another.example/path"}'

Example response JSON

Illustrative payload. rows aligns with the bulk keyword scan table: hits lists keyword, category, and context; redirected and redirectChain describe HTTP hops.

{
  "success": true,
  "count": 1,
  "maxUrls": 100,
  "durationMs": 2400,
  "avgMsPerUrl": 2400,
  "rows": [
    {
      "inputUrl": "https://checkout.example.com/order/12345/success",
      "finalUrl": "https://checkout.example.com/order/12345/success",
      "error": null,
      "redirected": false,
      "redirectChain": [
        { "url": "https://checkout.example.com/order/12345/success", "status": 200 }
      ],
      "hits": [
        {
          "keyword": "replica",
          "category": "Counterfeit & Replica",
          "context": "...luxury replica watches overnight..."
        }
      ]
    }
  ]
}

Commercial access, pricing, and higher throughput are arranged through sales. If you need full domain or IP reports with risk points and enrichment, use the Full Report API instead.

Request an API keysales@osintintel.com