Bot directory · Utility & developer tool

cURL

The ubiquitous command-line HTTP tool, run by anyone for any reason.

Operator
CategoryUtility & developer tool
Respects robots.txtNo - documented as not applying
Executes JavaScriptNo - reads raw HTML
robots.txt tokencurl
User-agent stringcurl/8.4.0

Official documentation: curl.se

See what cURL sees on your site → try Peekabot, free

What cURL does

curl is the default command-line tool for making HTTP requests, installed on virtually every server and laptop on earth. The UA tells you which tool made the request, not who ran it or why - it could be a health check, a deploy script, a researcher, or an attacker's probe. It fetches exactly one URL per invocation, executes no JavaScript, and ships with no robots.txt awareness.

Why it visits your site

Someone, somewhere, ran a command or script against your URL. Legitimate uses (monitoring, webhooks, integrations) and hostile ones (vulnerability probes) look identical in your logs.

The bigger picture: utility & developer tools

This category is the honest miscellany of a server log: monitoring services, platform callbacks, and the default user agents of HTTP libraries. The unifying rule is that the string identifies software, not intent. A curl request might be your host's health check or a vulnerability probe; a python-requests hit might be a researcher or a scraper; a WordPress UA is one site talking to another. Reading these names as a threat list misses what they actually are - a census of the scripted web touching your site, most of it mundane, some of it yours.

robots.txt barely applies here, and not out of rudeness: monitors fetch the exact URL a customer configured, feed fetchers act on a user's subscription, and bare libraries simply ship with no robots logic at all. Blocking a default library UA filters the honest and the lazy while the malicious change one line and continue, so the effective levers are different - rate limiting by IP, watching which paths get requested, and reserving blocks for named services you can verify and have decided you don't want.

Should you block it?

Blocking the curl UA blocks the honest scripts and none of the dishonest ones - changing the string takes one flag. It also risks breaking your host's health checks or your own automation. Treat it as a visibility signal and judge requests by what they're asking for, not the label.

Block via robots.txt

Add these lines to the robots.txt at your site root to ask cURL to stay away:

User-agent: curl
Disallow: /

Remember that robots.txt is a request, not a lock - compliance is voluntary, and enforcement happens at the server. Viz's AI Control pairs robots.txt rules with server-level 403 responses and then probes your site to verify the block is actually holding.

How to see cURL traffic on your site

You have three windows onto it, each with a catch. Raw hosting access logs contain every cURL request, but many managed WordPress hosts don't expose them, and when they do you are grepping text files by hand. A CDN dashboard sees the traffic at the edge, but it lives outside WordPress and speaks in totals, not in your site's terms. And JavaScript analytics - GA4 and friends - will never show it at all, because cURL doesn't run scripts.

Viz's answer is the request log: filter to cURL and read exactly which URLs it fetched and when, right inside wp-admin - then watch the same filter after any blocking decision to see whether the visits stopped, slowed, or kept coming.

Measure first

Is cURL on your site right now? Find out in two minutes.