{"openapi":"3.1.0","info":{"title":"API pública da Softoteca","version":"1.0.0","description":"Catálogo de software do Brasil para IAs e sistemas: fichas técnicas com a origem de cada dado, preços em reais, categorias, comparação, alternativas e as avaliações e reclamações moderadas. Só leitura, em JSON. Catálogo publicado da Softoteca. Cada dado da ficha informa a origem: editorial (coletado pela Softoteca no site do próprio fornecedor, com a URL e o trecho da fonte, ainda não verificado), declarado_fornecedor (informado pelo fornecedor), verificado_documento (conferido pela Softoteca num documento enviado pelo fornecedor) ou verificado_automatico (previsto para o dado conferido de forma automática numa fonte que o comprove; ainda não usado no catálogo). Quando o fornecedor declara um valor diferente do dado com fonte, ele vem em declarado_pelo_fornecedor. Ao citar, use a url_canonica e, quando houver, a fonte_url do dado."},"servers":[{"url":"https://softoteca.com.br"}],"paths":{"/v1/software":{"get":{"operationId":"buscarSoftwares","summary":"Buscar softwares","description":"Softwares publicados no catálogo, com filtros e paginação, em ordem alfabética.","parameters":[{"name":"q","in":"query","required":false,"description":"O que se procura, em poucas palavras (ex.: \"controle de ponto\", \"emissão de NFS-e\"). Cada palavra precisa aparecer no nome, no resumo, na descrição, no fornecedor ou nas categorias, sem diferença de acento ou de maiúsculas.","schema":{"type":"string","maxLength":200}},{"name":"categoria","in":"query","required":false,"description":"Slug da categoria, como vem da lista de categorias (ex.: \"controle-de-ponto\").","schema":{"type":"string"}},{"name":"tipo","in":"query","required":false,"description":"B2B para software de empresas, B2C para software de consumidores. Software que atende os dois entra nos dois.","schema":{"type":"string","enum":["B2B","B2C"]}},{"name":"plataforma","in":"query","required":false,"description":"Plataforma em que o software precisa rodar: web, windows, macos, linux, ios, android.","schema":{"type":"string","enum":["web","windows","macos","linux","ios","android"]}},{"name":"preco_max_brl","in":"query","required":false,"description":"Preço máximo em reais. Fica o software com plano gratuito ou com ao menos um plano de preço publicado até esse valor, na periodicidade do próprio plano (mensal, anual ou pagamento único).","schema":{"type":"number","minimum":0}},{"name":"origem","in":"query","required":false,"description":"Origem da empresa fornecedora: brasileira (sede no Brasil, comprovada no site do fornecedor) ou internacional (a filial brasileira de grupo estrangeiro conta como internacional). Fica de fora o software cujo fornecedor ainda não tem a origem comprovada; nas respostas, ele vem com fornecedor.origem null.","schema":{"type":"string","enum":["brasileira","internacional"]}},{"name":"pagina","in":"query","required":false,"description":"Página dos resultados, a partir de 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"por_pagina","in":"query","required":false,"description":"Resultados por página, de 1 a 100 (padrão 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/software/{slug}":{"get":{"operationId":"obterFicha","summary":"Ficha do software","description":"Ficha técnica completa: cada campo com valor, unidade, origem, URL e trecho da fonte e data da conferência; planos com preço em reais; integrações; conformidade; fornecedor e categorias.","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug do software, como vem da busca ou do endereço softoteca.com.br/software/{slug}.","schema":{"type":"string"}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/software/{slug}/alternativas":{"get":{"operationId":"alternativas","summary":"Alternativas a um software","description":"Outros softwares publicados nas mesmas categorias, primeiro os que têm mais categorias em comum.","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug do software, como vem da busca ou do endereço softoteca.com.br/software/{slug}.","schema":{"type":"string"}},{"name":"pagina","in":"query","required":false,"description":"Página dos resultados, a partir de 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"por_pagina","in":"query","required":false,"description":"Resultados por página, de 1 a 100 (padrão 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/software/{slug}/indicadores":{"get":{"operationId":"obterReputacao","summary":"Indicadores de avaliações e reclamações","description":"Nota geral, uso verificado, voltaria a usar, taxa de resposta, tempo da primeira resposta e índice de solução, nos últimos 12 meses e no histórico. Abaixo de 5 avaliações ou reclamações, o indicador vem null (dados insuficientes).","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug do software, como vem da busca ou do endereço softoteca.com.br/software/{slug}.","schema":{"type":"string"}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/software/{slug}/avaliacoes":{"get":{"operationId":"listarAvaliacoes","summary":"Avaliações de um software","description":"Avaliações publicadas depois da moderação, com as notas, os pontos positivos e negativos, o selo de uso verificado e a resposta do fornecedor.","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug do software, como vem da busca ou do endereço softoteca.com.br/software/{slug}.","schema":{"type":"string"}},{"name":"pagina","in":"query","required":false,"description":"Página dos resultados, a partir de 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"por_pagina","in":"query","required":false,"description":"Resultados por página, de 1 a 100 (padrão 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/software/{slug}/reclamacoes":{"get":{"operationId":"listarReclamacoes","summary":"Reclamações de um software","description":"Reclamações publicadas depois da moderação, com as respostas do fornecedor, as mensagens e a situação de cada uma.","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug do software, como vem da busca ou do endereço softoteca.com.br/software/{slug}.","schema":{"type":"string"}},{"name":"pagina","in":"query","required":false,"description":"Página dos resultados, a partir de 1.","schema":{"type":"integer","minimum":1,"default":1}},{"name":"por_pagina","in":"query","required":false,"description":"Resultados por página, de 1 a 100 (padrão 20).","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/categorias":{"get":{"operationId":"listarCategorias","summary":"Categorias","description":"Categorias com software publicado e quantos softwares cada uma tem.","parameters":[{"name":"tipo","in":"query","required":false,"description":"B2B para software de empresas, B2C para software de consumidores. Software que atende os dois entra nos dois.","schema":{"type":"string","enum":["B2B","B2C"]}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/comparar":{"get":{"operationId":"compararSoftwares","summary":"Comparar softwares","description":"Softwares lado a lado: quadro com preço, campos da ficha, integrações e conformidade, com a origem de cada valor.","parameters":[{"name":"slugs","in":"query","required":true,"description":"De 2 a 4 slugs de softwares diferentes, separados por vírgula (ex.: \"software-a,software-b\").","schema":{"type":"string"}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Software não encontrado no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/v1/categorias/{slug}/estatisticas":{"get":{"operationId":"estatisticasDaCategoria","summary":"Números da categoria","description":"Números da categoria calculados das fichas publicadas: quantos softwares publicam preço; o menor, a mediana e o maior preço em reais por usuário e por empresa por mês; plano gratuito e teste grátis; o menor plano de cada software; e o raio-X das fichas técnicas (API, app, LGPD, interface e suporte em português, origem da empresa e integrações mais comuns), com a definição e a base de cada número. precos vem null com menos de 3 softwares com preço publicado; raio_x, com menos de 3 fichas com ficha técnica.","parameters":[{"name":"slug","in":"path","required":true,"description":"Slug da categoria, como vem da lista de categorias (ex.: \"controle-de-ponto\").","schema":{"type":"string"}}],"responses":{"200":{"description":"Dados do catálogo publicado, com url_canonica, atualizado_em e origem_dos_dados.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parâmetro inválido.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"404":{"description":"Categoria não encontrada no catálogo publicado.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"429":{"description":"Limite de uso excedido: 120 consultas por minuto por IP, somadas a API e o servidor MCP. Nesta versão não há chave de acesso.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}}},"components":{"schemas":{"Erro":{"type":"object","properties":{"erro":{"type":"string"}},"required":["erro"]}}}}