Erro ao informar caracteres especiais na URL de API

Olá, estou tentando acessar uma API. Quando tento acessa-la com o URL abaixo:

https://dados.uffs.edu.br/api/3/action/datastore_search?resource_id=75eb15ab-c30f-4c40-8c19-a5bf936a0aa5&filters={"coordenador":"te;st"}

Ela retorna um erro, porém se substituo o ponto e virgula do {“coordenador”:“te;st”}) por %3B a API responde com sucesso. Segue exemplo abaixo da URL aceita pela API

https://dados.uffs.edu.br/api/3/action/datastore_search?resource_id=75eb15ab-c30f-4c40-8c19-a5bf936a0aa5&filters={"coordenador":"te%3Bst"}

Porque isso ocorre? ; e %3B não deveriam ser a mesma coisa?

Temos que respeitar as regras do protocolo HTTP. Além disso, não são a mesma coisa, os bytes enviados são diferentes.

Isso ocorre por que o HTTP é um protocolo e precisa respeitar o contrato pré-estabelecido.