Ir para o conteúdo

Visualização e Qualidade de Dados no Wikidata/Abordagens Computacionais/APIs/script

De Wikiversidade

As Interface de Programação de Aplicações da Wikimedia (APIs) constituem um conjunto de interfaces de programação que possibilitam o acesso programático aos conteúdos e dados dos projetos da Wikimedia Foundation (como Wikipedia, Wikidata e Wikimedia Commons) por meio da web.

Essas interfaces permitem que desenvolvedores e pesquisadores consultem e manipulem informações contidas nas wikis de maneira automatizada, substituindo a necessidade de interação por meio da interface gráfica humana.

O ecossistema Wikimedia oferece diversas APIs destinadas a finalidades específicas, entre as quais se destacam a API Action do MediaWiki e a API REST, além de endpoints especializados para projetos individuais.

API Action

[editar | editar código]

De modo geral, a API Action do MediaWiki, disponível na maioria dos wikis, permite a recuperação de conteúdo de páginas, metadados estruturados (como links, categorias e histórico de contribuições) e também a realização de edições, por meio de requisições HTTP direcionadas geralmente ao endpoint api.php de cada instância wiki. Por sua vez, a API REST do Wikimedia representa uma iniciativa mais recente, que disponibiliza endpoints RESTful padronizados sob o domínio api.wikimedia.org.

Essa abordagem oferece acesso unificado e simplificado a funcionalidades comuns, como obtenção de conteúdo de página, realização de buscas e recuperação de arquivos multimédia, em diversos projetos. Desse modo, o termo “API da Wikimedia” refere-se a uma infraestrutura de serviços web abertos que viabiliza a construção de aplicações baseadas em conhecimento livre, aproveitando o conteúdo multilíngue e os dados estruturados dos projetos Wikimedia de forma automatizada. Por meio dessas APIs, é possível desenvolver, por exemplo, robôs para atualização do Wikidata, aplicativos que consomem artigos da Wikipedia ou serviços de análise estatística de uso, tudo mediante chamadas padronizadas, sem intervenção manual.

Enquanto, a API REST do MediaWiki é uma interface de programação introduzida a partir da versão 1.35 do software MediaWiki, seguindo os princípios RESTful para facilitar a interação com conteúdos wiki via HTTP. Diferentemente da API de Ação tradicional, baseada em módulos e parâmetros transmitidos via api.php, a API REST organiza seus endpoints por recursos e versões, acessíveis pelo caminho .../w/rest.php/.... Como exemplo, para obter o conteúdo de uma página da Wikipedia em inglês, é possível realizar uma requisição GET para https://en.wikipedia.org/w/rest.php/v1/page/{Título}, recebendo como resposta uma estrutura em JSON ou HTML.

Funcionalmente, a API REST do MediaWiki permite operações como busca de artigos, recuperação de conteúdo e metadados de páginas, consulta ao histórico de edições e listagem de arquivos multimédia, utilizando verbos HTTP padronizados: GET para leitura, POST para criação, PUT para atualização, entre outros.

Um aspecto relevante de seu desenho é o foco na estabilidade de longo prazo: os endpoints são versionados (v1, v2, etc.), assegurando que atualizações não interfiram no funcionamento de aplicações clientes, uma vez que mudanças incompatíveis ocorrem somente entre versões major. Adicionalmente, a API REST integra-se de forma mais eficiente com mecanismos modernos de autenticação, como OAuth 2.0, e implementa políticas de limitação de taxa adequadas para uso em larga escala.

Na prática, a API REST coexiste com a API Action, porém oferece uma experiência mais intuitiva em diversos cenários de desenvolvimento. Por exemplo, uma consulta de busca por títulos pode ser realizada por meio de uma URL semanticamente clara, retornando resultados diretamente em JSON, o que reduz a complexidade de análise inerente a formatos como XML ou a chamadas multiparâmetro tradicionais. Em síntese, a API REST representa um avanço na evolução das interfaces da Wikimedia, visando facilitar o acesso programático e a reutilização de conteúdos wiki de modo consistente, eficiente e alinhado aos padrões web contemporâneos.