Docs · Datasheet
Segurança
pública em SP: ocorrências por município.
Ocorrências registradas e produtividade policial da SSP-SP por natureza, nos 645 municípios do estado, mês a mês, com o acumulado do ano contra o mesmo período do ano anterior e o ranking dos municípios.
Motivação
A SSP-SP publica a estatística mensal em um painel (e em uma API sem documentação) que serve uma natureza e um município de cada vez. Jornalistas, pesquisadores, conselhos de segurança e prefeituras precisam da tabela completa de um município, do comparativo com o ano anterior e da posição entre os municípios, em formato estável, com o mês de referência e a fonte.
Composição
- Unidade
- Município, natureza e mês.
- Ocorrências
- Grupo "ocorrências" da SSP: homicídio doloso (e nº de vítimas), homicídio doloso e culposo em acidente de trânsito, tentativa de homicídio, lesão corporal (dolosa, culposa, seguida de morte), latrocínio, estupro (total, estupro, estupro de vulnerável), roubo (outros, veículo, banco, carga), furto (outros, veículo). Nomes como a SSP publica.
- Produtividade policial
- Grupo à parte: prisões e infratores presos ou apreendidos (flagrante e mandado), flagrantes lavrados, armas de fogo e entorpecentes apreendidos, veículos recuperados, inquéritos instaurados.
- Valores
- Contagens mensais inteiras. Mês ainda não publicado é null, não zero.
- Por delegacia
- Capital (120 unidades, DPs numeradas e especializadas) e Piracicaba (14), só do grupo ocorrências, desde 2022. Na API da SSP a delegacia é o "distrito" (tipoGrupo=DISTRITO). O DataX guarda a DP como a SSP a publica; não há ligação DP-distrito nem área de cobertura, porque a SSP não os publica nesta base.
Cobertura: Os 645 municípios de SP, de 2023 ao último mês publicado pela SSP na carga corrente; anos anteriores (padrão 2015 em diante) entram pela carga histórica noturna. A resposta informa quantos municípios já foram coletados.
Como é coletado
- Fonte oficial
- SSP-SP, API pública que alimenta a página de estatísticas (www.ssp.sp.gov.br/v1): Municipios/RecuperaMunicipios e OcorrenciasMensais/RecuperaDadosMensaisAgrupados (grupoDelito 6 = ocorrências, 9 = produtividade; tipoGrupo MUNICÍPIO). A API não tem documentação publicada; sem robots.txt.
- Método
- Coletor próprio, identificado no User-Agent como "PIRANOT-DataX/1.0". Uma requisição por município e grupo traz o ano corrente e os 3 anteriores. Incremental pelo campo `publicado` da SSP: município já gravado até o último mês publicado não é pedido de novo. A API e a página leem só do estado. Por delegacia (capital e Piracicaba): Distritos/RecuperaDistritos (1 requisição, todas as DPs do estado, filtradas aqui) e a mesma RecuperaDadosMensaisAgrupados com tipoGrupo=DISTRITO (grupo 6), 1 requisição com ano=0 e, só na carga inicial, 1 com ano=2022 por DP, pelo cliente único de coleta (balde por host, robots.txt, registro); a 1ª DP de cada município diz se o último mês publicado já está gravado e, se estiver, as demais não são pedidas.
- Cadência
- Mensal, como a publicação da SSP (defasagem de cerca de 2 meses). Checagem semanal; o mês novo entra quando a SSP publica. Carga histórica: uma vez, de madrugada (01h-06h), retomável.
- Orçamento de requisições
- Rodada semanal: 2 (capital, que diz o último mês publicado) + 1 (lista de municípios) em semana sem mês novo; ~1.290 no mês novo (645 municípios x 2 grupos, ~22 min a 1 por segundo). Carga inicial dos 30 maiores: 61. Histórico: 2 por município e ano. Máximo de 1 requisição por segundo, timeout de 30 s, backoff em 429 e 5xx. Recheque noturno: 5 requisições (mais 2 por delegacia). Por delegacia, 2 s entre requisições: carga inicial ~270 (134 DPs), semana sem mês novo 3, mês novo ~135.
- Túnel
- Não há. A API responde ao User-Agent identificado.
Pré-processamento e limpeza
- Meses depois do `publicado` (que a SSP devolve como 0) viram null. Nomes de natureza sem a remissão de nota "(n)" no fim; o id da SSP é a chave estável e o slug é gerado a partir do nome.
- Acumulado do ano: soma de janeiro até o último mês da janela, contra a soma do mesmo período do ano anterior; variação = (atual - anterior) / anterior, com 1 casa, null se o anterior for zero.
- Ranking: municípios com o período completo no estado, em ordem decrescente do número absoluto; empate recebe a mesma posição. Sem taxa por habitante.
- Nenhum valor é recalculado ou estimado: os números são os publicados pela SSP.
Checks de qualidade aplicados
- Esquema: 12 meses por natureza, inteiros até o mês publicado e null depois; "publicado" entre 1 e 12; anos contíguos.
- Faixa: 0 a 1.000.000 por mês.
- Total: o campo total da SSP bate com a soma dos 12 meses de cada linha.
- Coerência: TOTAL DE ESTUPRO = ESTUPRO + ESTUPRO DE VULNERÁVEL; TOTAL DE ROUBO - OUTROS = ROUBO - OUTROS + ROUBO A BANCO + ROUBO DE CARGA; vítimas >= ocorrências em homicídio doloso, latrocínio e homicídio doloso em acidente de trânsito.
- Salto: mês novo acima de 5 vezes o máximo dos 24 meses anteriores da mesma natureza (e pelo menos 100) fica retido para conferência.
- Pipeline de qualidade: área de espera, checks e só então promoção; o que reprova fica em quarentena e a API segue entregando a última versão boa. Revisão de mês já publicado vira errata. Recheque noturno de 5 células na fonte oficial.
Licença e usos
- Licença
- Dados públicos divulgados pela SSP-SP; a fonte não declara licença aberta formal. Atribuição: "Fonte: SSP-SP, processamento PIRANOT". Só agregados municipais (sem dado pessoal).
- Usos
- Reportagens, relatórios e acompanhamento local de segurança pública; comparar o município com o ano anterior e com os demais. Não substitui a consulta ao painel oficial da SSP-SP.
Limitações conhecidas
- Números absolutos de ocorrências registradas, não taxas por habitante: municípios grandes lideram qualquer ranking absoluto.
- Os dados são sujeitos a revisão pela SSP; registros tardios mudam meses anteriores.
- Defasagem de cerca de 2 meses entre o mês dos fatos e a publicação.
- Linhas "TOTAL" e "Nº DE VÍTIMAS" repetem ou somam outras linhas: não some linhas de uma mesma tabela.
- API da SSP não documentada: pode mudar sem aviso; o coletor reprova a resposta que fugir do esquema esperado.
Distribuição
| Endpoint | Descrição |
|---|---|
GET /api/v1/seguranca/sp | Tabela por natureza e mês, acumulado e ranking; parâmetros municipio, natureza, de e ate. |
GET /api/v1/seguranca/ssp-sp/dp | Ocorrências por delegacia (capital e Piracicaba); parâmetros municipio, dp, natureza, de e ate. Traz a leitura editorial: registro de ocorrência não é o mesmo que crime. |
Metadados (DCAT / schema.org Dataset)
- dct:identifier
- seguranca-ssp-sp
- dct:publisher
- PIRANOT
- dct:source
- SSP-SP
- dct:license
- dados públicos, sem licença aberta formal
- dct:temporal
- 2015 ao último mês publicado
- dct:spatial
- 645 municípios de SP
- dct:accrualPeriodicity
- mensal
- dcat:distribution
- JSON via API v1
Histórico de versões
| Versão | Mudança |
|---|---|
| 1.0 (27/10/2026) | Ocorrências e produtividade por município e mês, acumulado do ano, ranking, API /api/v1/seguranca/sp e página /dados/seguranca/sp. |
| 1.1 (28/10/2026) | Nível delegacia (DP) da capital e de Piracicaba, desde 2022: seção "Por delegacia" da página e API /api/v1/seguranca/ssp-sp/dp. |
Reportar erro
POST /api/v1/qualidade/reportar com dataset, chave_registro, valor_visto, valor_esperado e fonte_esperada (detalhes em /docs/qualidade). Correções confirmadas aparecem em /erratas. Sem chave, escreva para [email protected].
Aviso. O DataX PIRANOT organiza dados de fontes oficiais e pode conter erros ou atrasos. Confira na fonte oficial, indicada em cada dado, antes de qualquer decisão importante. Respostas geradas por IA podem errar.DataX PIRANOT organises data from official sources and may contain errors or delays. Check the official source, linked with each dataset, before any important decision. AI-generated answers can be wrong.