Aggressive Official docs Data Scrapers

news-please

Operated by Open Source

Quick Facts

User-Agent:
news-please
Category:
Data Scrapers
Operator:
Open Source
Safety:
Aggressive
Blocking Impact:
Low - No SEO ranking impact
SEO Impact Score:
2/10
Official docs:
github.com

Confirmed by the operator

Open Source names news-please on its own documentation page, linked above. The token, purpose and robots.txt behaviour on this profile come from that page, re-checked on October 19, 2026.

What is news-please?

news-please is an open-source Python tool for crawling and extracting articles from news websites. Anyone can run it, so traffic under this name comes from many unrelated people.

It identifies itself with the token news-please. Open Source documents it at github.com.

What happens if you block news-please?

No effect on Google or Bing. Because anyone can run it, back a robots.txt rule with a firewall rule if the traffic matters.
Block this bot - it provides no SEO benefit and wastes crawl budget.

How to block news-please with robots.txt

<code>User-agent: news-please</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately. For aggressive bots, supplement with server-level blocking for guaranteed enforcement.

Block completely (robots.txt)
User-agent: news-please Disallow: /
Allow all (robots.txt)
User-agent: news-please Allow: /
Block private only (robots.txt)
User-agent: news-please Disallow: /private/ Disallow: /api/ Disallow: /admin/ Allow: /
Nginx server block
# Nginx: Hard-block news-please if ($http_user_agent ~* "news\-please") { return 403 "Bot blocked"; }
Apache .htaccess
# Apache: Hard-block news-please SetEnvIfNoCase User-Agent "news\-please" bad_bot Order Allow,Deny Allow from all Deny from env=bad_bot
Meta robots tag
<meta name="robots" content="noindex, nofollow">
X-Robots-Tag header
X-Robots-Tag: noindex, nofollow

Is news-please safe to allow?

news-please is rated Aggressive in this directory: traffic under this name has been reported as heavy, and there is no single operator who answers for it. On robots.txt: depends on who runs it. It is built on Scrapy, which can obey robots.txt, but the person running it controls that setting. There is no single operator to hold to a policy.

What does news-please do?

From Open Source's own documentation.

  • news-please is an open-source Python tool for crawling and extracting articles from news websites.
  • No effect on Google or Bing. Because anyone can run it, back a robots.txt rule with a firewall rule if the traffic matters.

news-please in context

news-please is a utility crawler operated by Open Source. In plain terms, it harvests pages for a dataset or data product. Our database files it under data scrapers and ranks it Tier 6, the lowest priority: scrapers and tools that offer most sites little or nothing. 37 of the 39 data scrapers in our database share this tier.

Its safety rating is aggressive and its blocking impact is low. So news-please is heavy on servers and cheap to lose: the clearest case for blocking it. How we rate safety and impact.

How site owners treat news-please

Our robots.txt study of the Tranco top 10,000 did not track news-please as a named token, so we do not publish an adoption figure for it. If you run a large site, your own logs are the best evidence of how often it visits.

Does it follow robots.txt?

news-please's operator does not clearly document how it treats robots.txt. Write the news-please rule anyway, then confirm in your logs that its requests stop.

Open Source crawlers and close alternatives

news-please is one of 2 Open Source crawlers in our database. A User-agent: news-please group controls news-please only; the other Open Source tokens below need their own lines.

  • news-please: this crawler (Tier 6)
  • imgproxy: imgproxy, harvests pages for a dataset or data product (Tier 6)

To give news-please the same answer as its siblings, stack User-agent: news-please with their lines above one set of rules; to treat news-please differently, give it its own group.

Other data scrapers that do the same job (harvests pages for a dataset or data product) include Amazon Kendra from Amazon, ApifyBot from Apify, Barkrowler from Babbar, BLEXBot from WebMeUp, coccocbot-web from Unknown, Crawl4AI from Unknown. Deciding about news-please is usually a decision about the whole group, so check how your file treats these too.

We first recorded news-please on March 17, 2026. Open Source documents it on github.com, and we recheck that page before each release.

Which rule news-please actually follows

news-please reads exactly one group in robots.txt, the most specific one that names news-please, and never combines rules across groups. This short file shows the trap:

User-agent: *
Disallow: /private/

User-agent: news-please
Disallow: /drafts/
  1. Find the group. news-please looks for a group naming news-please. One exists, so it ignores User-agent: * completely.
  2. Apply only that group. It is refused /drafts/ and nothing else.
  3. The surprise. /private/ is open to news-please, because that rule lives in the * group it no longer reads. To keep it out of both, repeat Disallow: /private/ inside its own group.
Test yourself: does a rule under User-agent: * apply to news-please if the file also has a User-agent: news-please group?

No. Once a group names it, news-please reads only that group. Put every rule you want it to follow inside its own group.

Test yourself: will blocking news-please remove your pages from AI answers?

Often, yes. news-please is a utility crawler, so pages it cannot fetch can drop out of the answers or results it supports.

Test yourself: is User-agent: news-please the same as User-agent: news-please?

Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.

Related: how AI engines choose their sources

Should you allow news-please? Decide by situation

Recommended setting for news-please by type of site
If you are...Recommended setting
You publish content and want AI answers to cite itLow stakes either way. It does not decide whether AI answers cite you.
You license content and want to stop AI trainingBlocking it does not stop training, because news-please is a utility crawler. Block the operator's training crawler instead.
You run an online shopConsider blocking it, especially on price and stock pages that competitors scrape.
Your server is under load from botsBlock it first; it is rated aggressive in our database.

Check news-please on your own site

  1. Open /robots.txt on your domain and search for news-please. If it is not named, it follows User-agent: *.
  2. List the Disallow lines in the group news-please follows and test your key URLs against them; the longest match wins, and Allow wins a tie.
  3. Look beyond the file. A firewall or bot manager can refuse news-please even when robots.txt allows it, and that never shows in the file.
  4. Run our AI crawler tester to see how news-please and every other crawler we track are treated in one pass, including firewall refusals.

Common mistakes with news-please

The errors we see most often with news-please in the files and firewalls we test:

  1. Treating news-please as an AI or search crawler. Blocking it has little effect on visibility; decide based on load and what it does with your data.
  2. Relying on robots.txt alone when news-please is rated caution or aggressive. Back the rule with a server-side block.
  3. Blocking news-please by IP alone. Ranges change; match the token and verify with logs.

All three hide inside a file that looks correct, so check news-please from outside after every change.

Spotting news-please in your logs

robots.txt says what news-please may do; your access logs show what it actually did.

Count requests

On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):

grep -iE "news-please" /var/log/nginx/access.log \
  | awk '{print $4}' | cut -d: -f1 | sort | uniq -c

And this shows which paths it requested most, which is the quickest way to see whether your Disallow lines are being respected:

grep -iE "news-please" /var/log/nginx/access.log \
  | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

Check the requests are genuine

Anyone can send the news-please user-agent, so confirm the source before acting on a match:

  • news-please: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable news-please request with caution.

Frequently Asked Questions

What is the official user-agent string for news-please?
The official user-agent string for news-please is: news-please. This is the exact string you must use in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. User-agent matching in robots.txt is case-insensitive, but the string must be spelled correctly. You can verify that a request genuinely comes from news-please by performing a reverse-DNS lookup on the source IP - legitimate bots resolve back to their operator's domain.
Is news-please safe?
news-please is rated Aggressive in this directory: traffic under this name has been reported as heavy, and there is no single operator who answers for it. On robots.txt: depends on who runs it. It is built on Scrapy, which can obey robots.txt, but the person running it controls that setting. There is no single operator to hold to a policy.
Will blocking news-please hurt my SEO?
No effect on Google or Bing. Because anyone can run it, back a robots.txt rule with a firewall rule if the traffic matters.
How do I block news-please in robots.txt?
Add the following lines to your /robots.txt file:
User-agent: news-please
Disallow: /

This instructs news-please not to crawl any path on your site. The Disallow: / directive covers the entire domain including subfolders. To only block specific sections, replace / with the path (e.g., Disallow: /blog/). Note: robots.txt is publicly readable - any bot or human can inspect it at yourdomain.com/robots.txt.
Does news-please respect robots.txt?
Depends on who runs it. It is built on Scrapy, which can obey robots.txt, but the person running it controls that setting. There is no single operator to hold to a policy.
How do I verify if news-please is crawling my site?
Search your web server access logs for the string news-please (case-insensitive grep: grep -i "news-please" /var/log/nginx/access.log). You can also check Google Search Console → Coverage → Crawl Stats for Googlebot variants. For news-please specifically, filter by user-agent in your log analysis tool (GoAccess, AWStats, etc.).
What is the crawl frequency of news-please?
Crawl frequency data for news-please is not publicly documented. Monitor your logs to understand actual visit patterns.
Can I block news-please from specific pages only?
Yes. Instead of a global Disallow: / you can restrict news-please to specific paths:
User-agent: news-please
Disallow: /private/
Disallow: /staging/
Allow: /

This allows news-please everywhere except the listed paths. Path matching in robots.txt uses prefix matching - Disallow: /private/ blocks /private/page.html but NOT /public/private/.
Is news-please causing high server load?
If news-please is generating excessive requests, you can:
1. Add Crawl-delay: 30 below the User-agent directive in robots.txt.
2. Rate-limit the user-agent via Nginx's limit_req_zone or Apache's mod_ratelimit.
3. Block it outright at Cloudflare WAF with rule: http.user_agent contains "news-please".
4. Use fail2ban to auto-block IPs exceeding request thresholds.
WhatsApp us