An API endpoint returns a list of records with optional pagination. Without a rate limit, a client can call it as fast as the network allows. Without a maximum page size, a single request can return millions of records. Without authentication on public endpoints, no credential is needed at all.
An attacker writes a simple loop:
Each individual request is valid. It hits the same endpoint a real user would. It uses a valid (or no) token. The response is correct data. The only anomaly is the rate — but without a rate limit defined, the server has no baseline to compare against. From the server's perspective, it's just a busy day.
Rate limiting (max requests per minute per client), maximum page size (cap the records-per-page parameter), and — for sensitive data — authentication. Any one of these adds meaningful friction. All three together make bulk scraping economically unfeasible.