Bots and humans

Human Confidence tells you, in one word and in real time, how sure you can be that a person is viewing the page. Keep the bots out of your analytics and your ad spend, and let the humans through.

Crawlers that announce themselves are easy. Our crawler data names them and says what they collect pages for, so your robots.txt can decide which ones to serve.

Create a Resource Key

Your crawler

{
  "iscrawler": true,
  "crawlername": "Anthropic ClaudeBot",
  "crawlerusage": ["Train"],
  "isartificialintelligence": "True",
  "humanconfidence": "Low"
}

https://cloud.51degrees.com/api/v4/json?resource=YOUR_KEY&user-agent=Mozilla/5.0 App … @anthropic.com)

Legacy

Legacy

Psst. Your bot list only catches the crawlers that say who they are. What about the ones posing as people? 😫

Single feature. Missing the whole picture.

51Degrees

51Degrees

36 million downloads, 1.6 million websites, and 145,000 downloads in the last week.

Plans and prices are on the pricing page, and every property is in the Property Dictionary.

What you need to know

🔗

A crawler collects pages in bulk for its operator. A scraper hides by posing as a browser. An AI agent works for one person on one task. Human Confidence returns High, Medium, or Low confidence that a person is reading the page. Add the value to your analytics before deciding what each visit can access.

The panel at the top of this page shows canned requests and the cloud's answer for each. They follow the public HumanConfidence derived property, which you can read in full and try in the script tester. Declared crawlers and browsers driven by a web driver are Low, and the answer is Unknown until the 51Degrees JavaScript has run. Otherwise it depends on whether the page was in view, how recent the browser is, and what the IP address says about the people who use it.

Cloud Human Confidence, Node.js
const CLOUD = 'https://cloud.51degrees.com/api/v4/';
const KEY = process.env.RESOURCE_KEY;

const headers = await cloudHeaders();
const evidence = new URLSearchParams();
for (const [name, value] of Object.entries(req.headers)) {
  if (headers.has(name)) evidence.set(name, value);
}
for (const [name, value] of Object.entries(req.body ?? {})) {
  if (name.startsWith('51D_')) evidence.set(name, value);
}
evidence.set('client-ip', ip);
const response = await fetch(CLOUD + KEY + '.json', {
  method: 'POST', body: evidence,
  signal: AbortSignal.timeout(TIMEOUT_MS)
});
const json = await response.json();
if (!response.ok) throw new Error(JSON.stringify(json.errors));
answer = json.derived?.humanconfidence ?? 'Unknown';

if (human.answer === 'High') return next();
if (human.answer === 'Low')
    return res.redirect('/automated-access');
res.redirect('/challenge');

The full Node.js cloud example

Developers start with the Human Confidence overview and its quick start. Retailers can read what it means for e-commerce. Human Confidence comes with the Pro plan, our cloud service, or with the Bespoke plan on your own servers.

Read the Human Confidence quick start

🔗

To start identifying bot traffic, you will need our IsCrawler property. Our CrawlerName property can provide additional information on the crawler.

Googlebot and Bingbot collect pages for search indexes, and other crawlers collect them to train AI models. CrawlerUsage says what each one collects pages for, so you can decide which uses of your content you allow.

Tell crawlers your decision in your robots.txt. Our robots.txt generator writes the file from the uses you allow, and emails you an update when crawlers or their uses change.

See the crawler properties

🔗

Decide which crawlers you want. A claimed crawler name alone is not proof of who sent the request, so verify the search engine crawlers you admit before you allow access, as our post on how likely your traffic is to be from real humans explains.

Bots posing as people sometimes claim an unusual device or a very old browser. Combine 51Degrees properties into a bot filter tailored to your audience, as our guide to filtering bots from your analytics with User-Agent data shows.

  • Location data and device detection can inform your access rules. Neither identifies a fraudster on its own.
  • Use Human Confidence to decide whether to serve content, request a login, or restrict a visit. The value is a confidence, so choose a policy suited to your audience.
  • Segment analytics by declared crawler and Human Confidence. Review those segments before treating every visit as a person.

See how our customers use real-time data

🔗

We support cloud and on-premise deployment. For cloud use, read about the Resource Key, then create a Resource Key with your chosen properties. Add your License Key when your plan requires one.

We have documentation for each API language to get you started with on-premise device detection. You can access a free trial by contacting us for more information.

Read the device detection quick start

🔗
  • Various deployment options in a range of API languages, all provided open-source and free via GitHub.
  • We're an ISO 9001 and 27001 certified company, so you can trust in our high-quality service.
  • Our Data team update our device database of 1,295,686 combinations daily. We source our data from real devices, vendors, or optional usage sharing. We don't cut corners by scraping the web.

See the crawler database

Pick one to find out more

Each heading opens a short answer, with code or an example, and a link to the documentation for more.

Read the Human Confidence overview
What is a web crawler?

What is a web crawler?

Crawlers

Crawlers collect pages in bulk for whoever runs them, for example to build a search index or train an AI model.

To detect bot activity, you can use the User-Agent HTTP header or IP intelligence tool. Our dedicated Data team regularly monitors the web for bots to add to our crawler database.

People, agents and scrapers

A crawler collects pages in bulk for its operator. A scraper hides by posing as a browser. An AI agent works for one person on one task.

4 ways to use Bots and humans

🔗

Use Human Confidence to decide when to show prices

Some AI agents visit for a person who may want to buy. Scrapers copy product and pricing information for another business. Use Human Confidence to decide which visits get your prices. You can let High through and withhold prices from Low, or serve no page. For Medium, you can ask the visitor to sign in if scraping is costing you.

If nine of the ten browsers in a report are bots, there's only one shopper in that count. Record Human Confidence with each visit to see how much of your traffic is likely to be human.

Who it serves. Retailers deciding how to handle AI visitors.

Talk to us about this

Pairs well with Suspicious traffic management, when you need to investigate the traffic further.

Integration time. 30 minutes in any Pipeline API integration.

Ingredients, 5

Bots and Humans
  • HumanConfidence
  • IsCrawler
  • CrawlerName
  • CrawlerUsage
  • IsArtificialIntelligence

Hero ingredient. HumanConfidence Scraper or shopper? Adapt to every request.

  1. Read Human Confidence on every page view
  2. Let High visits see the prices
  3. For Low, withhold the prices or serve no page
  4. Decide which AI agents you welcome. Some are shopping for a real person.

Chef's tip. Keep the rating in the session for half an hour, so you aren't asking the cloud on every page.

🔗

Check for bot traffic in your analytics and spending

Use the crawler properties to identify visitors that give their name and purpose, then handle them according to your robots.txt. For visits that aren't named crawlers, use Human Confidence to decide what they can see and how to count them in analytics. The network properties let you review traffic from a data center, VPN, or proxy.

Who it serves. Teams checking bot traffic in analytics and ad spending.

Talk to us about this

Pairs well with Spot the fake, for a closer look at the device in a suspicious request.

Integration time. 30 minutes in any Pipeline API integration.

Ingredients, 10

Bots and Humans
  • IsCrawler
  • CrawlerName
  • CrawlerUsage
  • CrawlerProductTokens
  • IsArtificialIntelligence
  • HumanConfidence
IP Intelligence
  • IsVPN
  • IsProxy
  • IsHosted
  • HumanProbability

Hero ingredient. HumanConfidence Use the rating to decide whether a visit should see your prices.

  1. Check IsCrawler on every request
  2. Filter named crawlers by name and usage
  3. Use IsArtificialIntelligence to identify AI traffic
  4. Use Human Confidence to review visits that aren't named crawlers

Chef's tip. Crawler detection is free on every plan. Use it to handle the visitors that identify themselves before reviewing the rest.

🔗

Use device and location data to build audiences

Group visitors by the price band and age of their devices, then add country and town from the IP address. You can target these segments without collecting behavioral data.

Who it serves. Media buyers building audiences without third-party cookies.

Talk to us about this

Pairs well with Bidstream enrichment, when you want to include these audience details in bid requests.

Integration time. One afternoon with the Pipeline API.

Ingredients, 12

Device Detection
  • PriceBand
  • ReleaseAge
  • ReleaseYear
  • HardwareRank
  • HardwareVendor
  • DeviceType
  • BrowserName
  • PlatformName
IP Intelligence
  • Country
  • Town
Bots and Humans
  • HumanConfidence

Hero ingredient. PriceBand Use the device's price band to build audience segments without collecting behavioral data.

  1. Select devices in a premium price band.
  2. Add ReleaseAge to find the flagships released this year.
  3. Add country and town for local targeting.
  4. Serve premium creative to this audience, then use 51Did to cap frequency and measure the campaign.

Chef's tip. A flagship released this year and a 2019 mid-range phone can belong in different audience segments.

🔗

Tell each crawler which uses of your pages you allow

Crawlers collect pages for different uses. Some build a search index that sends you visitors, while others train AI models that answer questions using your content. robots.txt tells named crawlers what you allow, but new crawlers appear every month.

Choose the uses you allow and our robots.txt generator writes the file for you. It emails a new version when crawlers or their uses change.

Who it serves. Publishers, retailers, and any website whose pages crawlers collect.

Talk to us about this

Pairs well with Suspicious traffic management, for investigating visits from crawlers that ignore your file.

Integration time. 10 minutes, with no code.

Ingredients, 4

Bots and Humans
  • IsCrawler
  • CrawlerName
  • CrawlerUsage
  • CrawlerProductTokens

Hero ingredient. CrawlerUsage Choose whether crawlers can use your pages for search indexing or AI training.

  1. Choose the uses you allow on the robots.txt generator
  2. Publish the file at the root of your website
  3. Replace it when we email you an update
  4. Compare CrawlerUsage on each request with the uses allowed in your file

Chef's tip. Keep the email address current, because the generator sends a new file when crawlers or their uses change.

Pick the one closest to your business challenge

The story is for you and the recipe for your engineers, with the properties they need and a link to create their Resource Key.