polite-fetching

Enforce robots.txt and terms-of-service compliance during web scraping.

Updated Jul 4, 2026
One-click install
npx skills add https://github.com/ssmleo/govfolio --skill polite-fetching
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: polite-fetching
Source: https://github.com/ssmleo/govfolio/tree/main/agents/skills/polite-fetching
Command: npx skills add https://github.com/ssmleo/govfolio --skill polite-fetching

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) components.

What problem does it solve?

This Skill addresses the challenge of performing lawful, durable web scraping, ensuring compliance with website terms of service and robots.txt policies.

Core Features & Use Cases

  • Conditional GETs: Executes GET requests based on ToS/robots.txt compliance.
  • Min-Interval + Concurrency Control: Implements minimum interval and single concurrency for polite network interactions.
  • User-Agent Identification: Utilizes a unique, identifiable User-Agent string with contact information.
  • Logging: Records politeness incidents to a secure log (SAF).
  • Anti-Pattern Avoidance: Protects against common scraping anti-patterns like parallel hammering and ignoring HTTP 429 responses.
  • Learnings: Provides historical insights and best practices for scraping, including handling 403 errors and using fallback strategies.

Quick Start

Activate the polite-fetching skill when initiating a network fetch of a source to ensure compliance with website policies.

Frequently Asked Questions about polite-fetching

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I ensure my web scraping complies with robots.txt and terms of service?

To ensure web scraping complies with robots.txt and terms of service, execute conditional GETs based on site policies, use a unique User-Agent string with contact information, and maintain single concurrency with minimum intervals between requests.

What are common web scraping anti-patterns and how do I avoid hammering a server?

Common web scraping anti-patterns include parallel hammering and ignoring HTTP 429 responses. Avoid these by implementing minimum interval pacing, single concurrency control, and fallback strategies while logging politeness incidents.

How do I handle HTTP 403 and 429 errors during data retrieval?

Handle HTTP 403 and 429 errors during data retrieval by applying fallback strategies, respecting retry-after directives from 429 responses, and ensuring your User-Agent identification includes clear contact information.

Does polite web scraping require specific network interaction strategies for large scale data retrieval?

Polite web scraping for large scale data retrieval requires conditional GETs, strict min-interval pacing, and single concurrency control to prevent parallel hammering and ensure durable, lawful network interaction.

What should be included in a User-Agent string for compliant web scraping?

A User-Agent string for compliant web scraping should include unique identification and contact information to maintain transparency and allow server administrators to reach you regarding network interaction policies.

Why does my web scraper get blocked even when following robots.txt?

Your web scraper may get blocked despite following robots.txt if it exhibits anti-patterns like parallel hammering or ignoring HTTP 429 responses, violating broader terms of service through impolite network interaction.