API pública ou privada não tem haver com ter documentação ou se essa documentação ela é acessível ou não.
Toda API tem condições de "saber" a origem das requisições, ou seja, a API do Twitter sabe quando as requisições estão vindo do site dela ou não, e pode simplesmente barrar as requisições que não estão na lista de clientes autorizados. É por isso que tem gente que usa Selenium (ou similar) para contornar isso.
Além de barrar quem "não está na lista", pode colocar limites mesmo para os autorizados como 1000 requisições por dia, ou 10 requisições por minuto e por aí vai.