Gente, eu preciso pegar a api dos estados e retornar em um formulário. porém ainda não achei o erro

function PopulatedUFs() {

     ufselect = document.querySelector("select [nome=uf]")

    fetch("https://servicodados.ibge.gov.br/api/v1/localidades/estados")

    .then(res=>{ return res.json() }

    .then(states => {

        for(state of states){

            

ufselect.innerHTML = +  `<option value=" ${state.id}">${state.nome}</option>`

        }

}

    ))

PopulatedUFs();

Que erro?

então, a api não funciona ao rodar na página, a ideia é que aparecesse os estados para que se cadastrasse o e-mail.

O seu código estava com uns parenteses e chaves errados. Fiz o ajuste (mas coloquei para imprimir no console):

function PopulatedUFs() {
	fetch("https://servicodados.ibge.gov.br/api/v1/localidades/estados")
		.then(res => {
			return res.json();
		}).then(states => {
			for(let state of states) {
				console.log(state);
			}
		});
}

PopulatedUFs();

Pode parecer bobo, mas indentação é um dos indicativos para um código bem feito, sem falar que ajuda a identificar esses tipos de problemas.

1 curtida