API Armor LogoAPI Armor
Argus Fingerprinting

Quick Start

Add one script tag and start identifying visitors in five minutes.

Once your domain is verified, embedding Argus is a single tag.

Step 1: Add the script

Paste this just before your closing </body> tag (or in <head> with async). Replace the site-id value with the one from your dashboard:

<script
  site-id="aa-argus-YOUR-SITE-ID"
  src="https://fpcdn.api-armor.com/js/dfs.min.js"
  async
></script>

That's it. On page load Argus collects signals, calls the fingerprint service, and exposes the result.

Step 2: Read the result

Argus sets the result on window.AAArgus after the request finishes (it's undefined until then, and null if the request failed). Poll for it with a small helper:

<script>
  function onArgus(cb, timeoutMs = 8000) {
    const start = Date.now();
    (function poll() {
      if (typeof window.AAArgus !== 'undefined') return cb(window.AAArgus);
      if (Date.now() - start > timeoutMs) return cb(null);
      setTimeout(poll, 100);
    })();
  }

  onArgus((result) => {
    if (!result) return; // failed or timed out
    console.log('Visitor:', result.argus_visitor_id);
    console.log('Bot score:', result.bot_score);
  });
</script>

See the Response reference for every field.

Step 3: Try debug mode

Add debug="true" to print a colored, boxed readout of the fingerprint to the browser console:

<script
  site-id="aa-argus-YOUR-SITE-ID"
  debug="true"
  src="https://fpcdn.api-armor.com/js/dfs.min.js"
></script>

Open DevTools → Console (F12) to see the argus_visitor_id, JA4, IP, and the full payload. Remove debug="true" in production.

Testing locally

Argus works on localhost, 127.0.0.1, and [::1] even though they aren't your registered domain — loopback origins are always allowed for development. Your site-id and plan still apply.

Next

On this page