falando de maneira simples seria isso, você cria um arquivo que busca na API os resultados se a resposta da API for a que você já tem no banco use um "DIE;" se for diferente realiza o cadastro, acredito que pode ser feito oque se a API atualiza a cada 30 segundos você vai buscar a cada 10 segundos assim 2 requisições suas vão cair no "DIE;" e uma no cadastro. na teoria seria apenas isso.
Sim, a api tem uma atualização a cada 30 segundos, sincronizar a captura com a api seria dificil, entao estou rodando essa captura a cada 15 segundos no cron, e o arquivo que o cron executa tem um loop infinito pra ele ficar capturando direto, dai coloquei um tempo de encerração desse arquivo em 15 segundos tbm, pra não matar o servidor