Help

Difference between revisions of "APIs"

APIs are interface system allowing an url query to access data on a server. In the case of LinguaLibre, two APIs are used: LinguaLibre and Commons Wikimedia. Below are some useful examples.

 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
{{#Subtitle:'''APIs''' are interface system allowing an url query to access data on a server. In the case of LinguaLibre, two APIs are used: LinguaLibre and Commons Wikimedia. Below are some useful examples.}}
 
{{Draft}}
 
{{Draft}}
'''APIs''' are interface system allowing an url query to access data on a server. In the case of LinguaLibre, two APIs are used: LinguaLibre and Commons Wikimedia. Below are some useful examples.
+
 
 
== Commons API ==
 
== Commons API ==
{| class="wikitable"
+
{| class="wikitable" style="word-break: normal;"
! API point || Query || Example of returned sub-item
+
! API point  
 +
! Query  
 +
! Example of returned sub-item
 
|-
 
|-
 
| [https://commons.wikimedia.org/w/api.php Commons] > [[:mw:Special:MyLanguage/API:Allimages|API:Allimages]] || [https://commons.wikimedia.org/w/api.php?origin=*&action=query&format=json&ailimit=500&aistart=2018-01-01T00:00:01Z&aiuser=Yug&list=allimages&aisort=timestamp&aiprop=user%7Cmime%7Csize%7Curl List of 500 files by User:Yug, since 2018-01-01 and after, with username, mime, size and url] || <syntaxhighlight lang="javascript">{
 
| [https://commons.wikimedia.org/w/api.php Commons] > [[:mw:Special:MyLanguage/API:Allimages|API:Allimages]] || [https://commons.wikimedia.org/w/api.php?origin=*&action=query&format=json&ailimit=500&aistart=2018-01-01T00:00:01Z&aiuser=Yug&list=allimages&aisort=timestamp&aiprop=user%7Cmime%7Csize%7Curl List of 500 files by User:Yug, since 2018-01-01 and after, with username, mime, size and url] || <syntaxhighlight lang="javascript">{
Line 110: Line 113:
  
 
|-
 
|-
| Commons > [[:mw:Special:MyLanguage/API:Parse|API:Parse]] || [https://commons.wikimedia.org/w/api.php?action=parse&page=File:LL-Q150%20(fra)-Poslovitch-vert.wav&format=jsonfm&prop=wikitext%7Cproperties Given file's title, return wikitext & recorded word] || <syntaxhighlight lang="javascript">{
+
| Commons > [[:mw:Special:MyLanguage/API:Parse|API:Parse]] || [https://commons.wikimedia.org/w/api.php?action=parse&page=File:LL-Q150%20(fra)-Poslovitch-vert.wav&format=jsonfm&prop=wikitext%7Cproperties Given file's title, return wikitext & recorded word]  
 +
|style="width:60%;"| <syntaxhighlight lang="javascript">{
 
     "parse": {
 
     "parse": {
 
         "title": "File:LL-Q150 (fra)-Persepha-Vert-Saint-Denis.wav",
 
         "title": "File:LL-Q150 (fra)-Persepha-Vert-Saint-Denis.wav",
 
         "pageid": 91887625,
 
         "pageid": 91887625,
 
         "wikitext": {
 
         "wikitext": {
             "*": "== {{int:filedesc}} ==\n{{Lingua Libre record\n | speaker       = Persepha\n | speakerId     = Q334514\n | speakerGender = female\n | author       = [[User:Persepha|Persepha]]\n | languageId   = Q150\n | transcription = Vert-Saint-Denis\n | qualifier     = \n | date         = 2020-07-04\n}}\n\n== {{int:license-header}} ==\n{{cc-by-sa-4.0}}"
+
             "*": `== {{int:filedesc}} ==\n
 +
            {{Lingua Libre record\n  
 +
              |speaker=Persepha |speakerId=Q334514 |speakerGender=female |author=[[User:Persepha|Persepha]] \n
 +
              |languageId=Q150 |transcription=Vert-Saint-Denis |qualifier= |date=2020-07-04}} \n
 +
            == {{int:license-header}} ==\n{{cc-by-sa-4.0}}`
 
         },
 
         },
 
         "properties": [
 
         "properties": [
Line 171: Line 179:
 
** [[:mw:Special:MyLanguage/API:Logevents|API:Logevents]]
 
** [[:mw:Special:MyLanguage/API:Logevents|API:Logevents]]
 
** [[:mw:Special:MyLanguage/API:Search|API:Search]]
 
** [[:mw:Special:MyLanguage/API:Search|API:Search]]
 +
** [[:mw:Special:MyLanguage/API:Categorymembers|API:Categorymembers]]
  
 
== See also ==
 
== See also ==
 
* [[Special:MyLanguage/Help:SPARQL|Help:SPARQL]]
 
* [[Special:MyLanguage/Help:SPARQL|Help:SPARQL]]
 +
* [https://codepen.io/hugolpz/pen/ByoKOK Generalist demo on API queries over Wikipedia].
 +
 +
{{Technicals}}
 +
 
[[Category:Lingua Libre:Help{{#translation:}}]]
 
[[Category:Lingua Libre:Help{{#translation:}}]]

Latest revision as of 20:46, 28 December 2023

Draft
Twemoji12 1f3d7.svg
Twemoji12 1f3d7.svg

This page is a work in progress.

Commons API

API point Query Example of returned sub-item
Commons > API:Allimages List of 500 files by User:Yug, since 2018-01-01 and after, with username, mime, size and url
{
  "name": "LL-Q150_(fra)-Yug-retour.wav",
  "user": "Yug",
  "size": 99604,
  "width": 0,
  "height": 0,
  "duration": 1.128798185941043,
  "url": "https://upload.wikimedia.org/wikipedia/commons/5/5d/LL-Q150_%28fra%29-Yug-retour.wav",
  "descriptionurl": "https://commons.wikimedia.org/wiki/File:LL-Q150_(fra)-Yug-retour.wav",
  "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=104350594",
  "mime": "audio/wav",
  "ns": 6,
  "title": "File:LL-Q150 (fra)-Yug-retour.wav"
}
Commons > API:Allimages List of 500 files prifixed by 'LL-Q150_(fra)', aka French language files, sorted by name, with username, mime, size and url
{
  "name": "LL-Q150_(fra)-Yug-retour.wav",
  "user": "Yug",
  "size": 99604,
  "width": 0,
  "height": 0,
  "duration": 1.128798185941043,
  "url": "https://upload.wikimedia.org/wikipedia/commons/5/5d/LL-Q150_%28fra%29-Yug-retour.wav",
  "descriptionurl": "https://commons.wikimedia.org/wiki/File:LL-Q150_(fra)-Yug-retour.wav",
  "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=104350594",
  "mime": "audio/wav",
  "ns": 6,
  "title": "File:LL-Q150 (fra)-Yug-retour.wav"
}
Commons > API:Allimages List of 500 files prefixed by 'LL-Q150_(fra)-Yug', aka French language files by user:Yug, sorted by name, with username, mime, size and url
{
  "name": "LL-Q150_(fra)-Yug-retour.wav",
  "user": "Yug",
  "size": 99604,
  "width": 0,
  "height": 0,
  "duration": 1.128798185941043,
  "url": "https://upload.wikimedia.org/wikipedia/commons/5/5d/LL-Q150_%28fra%29-Yug-retour.wav",
  "descriptionurl": "https://commons.wikimedia.org/wiki/File:LL-Q150_(fra)-Yug-retour.wav",
  "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=104350594",
  "mime": "audio/wav",
  "ns": 6,
  "title": "File:LL-Q150 (fra)-Yug-retour.wav"
}
Commons > API:Logevents List of 500 log events by User:Yug, type upload/upload, from 2022-01-01 and before
{
  "logid": 310250995,
  "ns": 6,
  "title": "File:LL-Q150 (fra)-Yug-retour.wav",
  "pageid": 104350594,
  "logpage": 104350594,
  "params": {
    "img_sha1": "annmkt852o46z5icpp2thdzyei7fla1",
    "img_timestamp": "2021-04-25T22:08:17Z"
  },
  "type": "upload",
  "action": "upload",
  "user": "Yug",
  "timestamp": "2021-04-25T22:08:17Z",
  "comment": ""
}
Commons > API:Opensearch Search for files, prefixed with LL-Q140193 (bci)-Olivier Yao-, return in OpenSearch format
[
    "LL-Q140193 (bci)-Olivier Yao-",
    [ "File:LL-Q140193 (bci)-Olivier Yao-n\u0254n.wav", "File:LL-Q140193 (bci)-Olivier Yao-oto.wav" ],
    [ "", "" ],
    [
        "https://commons.wikimedia.org/wiki/File:LL-Q140193_(bci)-Olivier_Yao-n%C9%94n.wav",
        "https://commons.wikimedia.org/wiki/File:LL-Q140193_(bci)-Olivier_Yao-oto.wav"
    ]
]
Commons > API:Search Search via regex intitle:/LL-Q150 \(fra\)-[^-]*-vert\.wav/. ⚠️ This will not show recordings from users with a - in their username.
{
    "ns": 6,
     "title": "File:LL-Q150 (fra)-Roll-Morton-vert.wav",
     "pageid": 70168118,
     "timestamp": "2021-08-23T12:22:30Z"
}



Commons > API:Categorymembers Given a category of image, return its imageinfo with url, timestamp and other
"104331639": {
    "pageid": 104331639,
    "ns": 6,
    "title": "File:LL-Q150 (fra)-Kitel WP-%.wav",
    "imagerepository": "local",
    "imageinfo": [{
        "timestamp": "2021-04-25T15:49:00Z",
        "url": "https://upload.wikimedia.org/wikipedia/commons/a/a3/LL-Q150_%28fra%29-Kitel_WP-%25.wav",
        "descriptionurl": "https://commons.wikimedia.org/wiki/File:LL-Q150_(fra)-Kitel_WP-%25.wav",
        "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=104331639"
    }]
},


Commons > API:Parse Given file's title, return wikitext & recorded word
{
    "parse": {
        "title": "File:LL-Q150 (fra)-Persepha-Vert-Saint-Denis.wav",
        "pageid": 91887625,
        "wikitext": {
            "*": `== {{int:filedesc}} ==\n
            {{Lingua Libre record\n 
              |speaker=Persepha |speakerId=Q334514 |speakerGender=female |author=[[User:Persepha|Persepha]] \n
              |languageId=Q150 |transcription=Vert-Saint-Denis |qualifier= |date=2020-07-04}} \n
            == {{int:license-header}} ==\n{{cc-by-sa-4.0}}`
        },
        "properties": [
            {  },
            {
                "name": "defaultsort",
                "*": "Vert-Saint-Denis"
            }
        ]
    }
}
Commons > API sandbox Combined query with search (regex filter) ; imageinfo (url) ; categories (speaker)
"78990843": {
  "pageid": 78990843,
  "ns": 6,
  "title": "File:LL-Q150 (fra)-Aemines1-orange.wav",
  "index": 8,
  "imagerepository": "local",
  "imageinfo": [{
    "url": "https://upload.wikimedia.org/wikipedia/commons/f/fa/LL-Q150_%28fra%29-Aemines1-orange.wav",
    "descriptionurl": "https://commons.wikimedia.org/wiki/File:LL-Q150_(fra)-Aemines1-orange.wav",
    "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=78990843",
    "extmetadata": {
      "Categories": {
        "value": "Lingua Libre pronunciation-fra|Lingua Libre pronunciation by Aemines1",
        "source": "commons-categories",
        "hidden": ""
      }
    }
  }],
  "pageprops": {
    "defaultsort": "orange"
  }
}

Tools

Special:ApiSandbox

See also Commons:Special:ApiSandbox

It is an API requests generator.

  • Left block allows to :
    • Main: navigate the API tree
    • Results: visualize the JSON
  • The right block allows to :
    • present the elements clearly
    • allows to select, search, add, remove props (property, parameters) with autocompletion
  • Top right buttons allows to :
    • Make a request in a new tab of your browser
    • Clear all.

API pages

See also

Lingua Libre technical helps
Template {{Speakers category}} • {{Recommended lists}} • {{To iso 639-2}} • {{To iso 639-3}} • {{Userbox-records}} • {{Bot steps}}
Audio files How to create a frequency list?Convert files formatsDenoise files with SoXRename and mass rename
Bots Help:BotsLinguaLibre:BotHelp:Log in to Lingua Libre with PywikibotLingua Libre Bot (gh) • OlafbotPamputtBotDragons Bot (gh)
MediaWiki MediaWiki: Help:Documentation opérationelle MediawikiHelp:Database structureHelp:CSSHelp:RenameHelp:OAuthLinguaLibre:User rights (rate limit) • Module:Lingua Libre record & {{Lingua Libre record}}JS scripts: MediaWiki:Common.jsLastAudios.jsSoundLibrary.jsItemsSugar.jsLexemeQueriesGenerator.js (pad) • Sparql2data.js (pad) • LanguagesGallery.js (pad) • Gadgets: Gadget-LinguaImporter.jsGadget-Demo.jsGadget-RecentNonAudio.js
Queries Help:APIsHelp:SPARQLSPARQL (intermediate) (stub) • SPARQL for lexemes (stub) • SPARQL for maintenanceLingualibre:Wikidata (stub) • Help:SPARQL (HAL)
Reuses Help:Download datasetsHelp:Embed audio in HTML
Unstable & tests Help:SPARQL/test
Categories Category:Technical reports