Caracteres não são bytes
Em UTF-8, o formato padrão da web, letras sem acento ocupam 1 byte, letras acentuadas (ç, ã, é) ocupam 2 bytes, símbolos como € ocupam 3 e emojis ocupam 4. Por isso um texto de 100 caracteres pode ter bem mais de 100 bytes.
KB ou KiB? 1 KB = 1.000 bytes (padrão do sistema internacional, usado por muitos serviços). 1 KiB = 1.024 bytes (usado por vários sistemas operacionais). Confira qual a documentação da API usa.
Perguntas frequentes
Por que o .length do JavaScript dá outro número?
O JavaScript guarda textos em UTF-16: o .length conta unidades de 16 bits, e um emoji conta como 2. O tamanho enviado pela rede é o de UTF-8.
Minificar o JSON diminui o tamanho?
Sim: tirar espaços e quebras de linha pode reduzir bastante um JSON indentado. A compressão gzip/brotli do servidor reduz ainda mais na transferência.