API Dokumentation

OSM TagFinder hat ein API, dass die zugrunde liegenden Daten zugänglich macht. Ein Teil des APIs wird intern auch für das Web User Interface verwendet und kann auch von jedem benutzt werden, der die TagFinder Daten in seiner Webseite oder Applikation integrieren will. Der TagFinder Server hat jedoch nicht unbegrenzte Ressourcen: Bitte verwenden Sie das API verantwortungsvoll!

Allgemeine Infos

Der OSM TagFinder basiert nicht auf einer relationalen Datenbank. Die gesamten Informationen sind als Semantic Web Graph aufgebaut und als RDF/XML verfügbar: tagfinder_thesaurus.rdf
Alle Statistik Daten - wie Anzahl der einzelnen Tags - stammen von dem hervorragenden TagInfo.org Web Service und sollten falls gewünscht von dort bezogen werden.
Ausserdem ist die Applikation auf Github unter MIT Lizenz verfügbar. Hier können unter "Issues" auch technische Probleme gemeldet werden.

Das TagFinder API ist ein RESTful HTTP API. Alle Anfragen fordern Informationen von TagFinder an und erfolgen über die HTTP GET Methode. Die API Resultate sind im JSON Format.
Für eine einfachere Lesbarkeit is es möglich den Parameter 'format=json_pretty' anzuhängen.

CORS und JSONP

Das TagFinder API unterstützt Cross-Origin Resource Sharing (CORS), indem bei jedem API Resultat 'Access-Control-Allow-Origin: * ' in den Header gesetzt wird.
Desweiteren wird die ältere JSONP Technik unterstützt. Wenn als Parameter 'callback' angehängt wird, erfolgt die Rückgabe innerhalb der definierten Callback-Funktion.
(Zum Beispiel: /api/suggest?query=garten&callback=foo)

API Documentation

OSM TagFinder has an API, that lets you access the underlying data. A part of the API is used internally for the Web User Interface and can also be used by anybody who wants to integrate TagFinder data in their webpage or application. The server running the TagFinder API does not have unlimited resources: Please use the API responsibly!

Basics

The OSM TagFinder isn't based on a relational database. All information is built as a Semantic Web Graph and stored as RDF/XML. Available here: tagfinder_thesaurus.rdf
All statistics data - like the count of a tag - come from the great TagInfo.org Web Service. If you wish to get more recent statistical data, please use TagInfo.org instead.
Additionally this application is available on Github under MIT license. Please voice technical problems and questions in the Github "Issues".

The TagFinder API is a RESTful HTTP API. All calls request information and use the HTTP GET method. All API result are in JSON format.
For easy readability it's possible to add the parameter 'format=json_pretty'.

CORS and JSONP

The TagFinder API supports Cross-Origin Resource Sharing (CORS), by setting the header 'Access-Control-Allow-Origin: * ' for every API call result.
It also supports the older JSONP technique. When the parameter 'callback' is added, the result will be packed inside the specified callback-function.
(Example: /api/suggest?query=garten&callback=foo)

Web Services:

/api/search

Pfad: /api/search
Beschreibung: Sucheanfrage an TagFinder für OpenStreetMap Tags.
Parameter: query- Der Suchbegriff vom Typ STRING. (erforderlich)
lang- Gibt die Sprache des Suchbegriffs an. Wechselt nur die Reihenfolge, in der zuerst nachgeschlagen wird. Unterstützt: 'de' und 'en'. (optional, default: 'en')
format- Bei Wert json_pretty wird die JSON Rückgabe eingerückt. (optional)
callback- JSONP Callback Parameter. (optional)
Bemerkung: Wenn für den Suchbegriff keine Tags gefunden wurden, wird ein leeres ARRAY zurückgegeben. Mit Anführungszeichen um ein Wort kann die Rechtschreibkorrektur und der Übersetzer deaktiviert werden.
Resultat:
:ARRAY OF HASHESSortierte Liste mit den Resultaten der Suchanfrage.
  subject:STRINGWeblink zur OpenStreetMap Wiki-Seite des Tags.
  isKey:BOOLtrue falls es sich um einen Schlüssel handelt, false wenn es ein Schlüssel=Wert Paar ist.
  isTag:BOOLtrue falls es ein Schlüssel=Wert Paar ist, false wenn es sich um einen Schlüssel handelt.
  prefLabel:STRINGBezeichnung des Tags, im Format: Schlüssel oder Schlüssel=Wert
  depiction:STRINGWeblink zu einem Bild, dass den Tag auszeichnet.
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGListe mit englischen, verwandten Begriffen.
    de:ARRAY OF STRINGListe mit deutschen, verwandten Begriffen.
  scopeNote:ARRAY OF HASHES
    en:STRINGEnglische Kurzbeschreibung.
    de:STRINGDeutsche Kurzbeschreibung.
  countAll:INTAnzahl Total.
  node:ARRAY OF HASHES
    count:INTAnzahl Punkte.
    use:BOOLSoll der Tag Punkten zugeordnet werden?
  way:ARRAY OF HASHES
    count:INTAnzahl Linien.
    use:BOOLSoll der Tag Linien zugeordnet werden?
  area:ARRAY OF HASHES
    count:INTAnzahl Flächen.
    use:BOOLSoll der Tag Flächen zugeordnet werden?
  relation:ARRAY OF HASHES
    count:INTAnzahl Relationen.
    use:BOOLSoll der Tag Relationen zugeordnet werden?
  implies:ARRAY OF HASHES
    label:STRINGBezeichnung des implizierten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des implizierten Tags. Kann null sein.
  combines:ARRAY OF HASHES
    label:STRINGBezeichnung des häufig kombinierten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des häufig kombinierten Tags. Kann null sein.
  links:ARRAY OF HASHES
    label:STRINGBezeichnung des verlinkten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des verlinkten Tags. Kann null sein.
  searchMeta:ARRAY OF HASHES
    score:INTSortierbarer Trefferscore, berechnet nach einer Okapi BM25f Variante.
    <field>:ARRAY OF STRINGSListe mit gefundenen Begriffen.<field> ist 'tagPrefLabel', 'termPrefLabel', 'termAltLabel', 'termBroader', 'termNarrower' oder 'tagScopeNote'.
Beispiel: /api/search?query=Zoo&format=json_pretty&lang=de
UI Beispiel: /search?query=zoo
Path: /api/search
Description: Query TagFinder for OpenStreetMap tags.
Parameters: query- Search query of type STRING. (required)
lang- Defines language of the search term. Only changes lookup order. Currently supported: 'en' and 'de'. (optional, default: 'en')
format- With value json_pretty the JSON output gets pretty-printed. (optional)
callback- JSONP callback parameter. (optional)
Notes: If no Tags were found for the search query, an empty ARRAY is returned. Using quotation marks around terms turns off the spell correction and the translator.
Result:
:ARRAY OF HASHESSorted list containing the results of this query.
  subject:STRINGWeblink to the OpenStreetMap Wiki of this tag.
  isKey:BOOLtrue if its a key, false if its a key=value pair.
  isTag:BOOLtrue if its a key=value pair, false if its a key.
  prefLabel:STRINGLabel of the tag: key or key=value
  depiction:STRINGWeblink to the image denoting this tag.
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGList of English related terms.
    de:ARRAY OF STRINGList of German related terms.
  scopeNote:ARRAY OF HASHES
    en:STRINGShort description in English.
    de:STRINGShort description in German.
  countAll:INTTotal count.
  node:ARRAY OF HASHES
    count:INTCount of nodes.
    use:BOOLIs node-use encouraged?
  way:ARRAY OF HASHES
    count:INTCount of ways.
    use:BOOLIs way-use encouraged?
  area:ARRAY OF HASHES
    count:INTCount of areas.
    use:BOOLIs area-use encouraged?
  relation:ARRAY OF HASHES
    count:INTCount of relations.
    use:BOOLIs relation-use encouraged?
  implies:ARRAY OF HASHES
    label:STRINGLabel of the implied tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this implied tag. Can be null.
  combines:ARRAY OF HASHES
    label:STRINGLabel of the combined tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this combined tag. Can be null.
  links:ARRAY OF HASHES
    label:STRINGLabel of the linked tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this linked tag. Can be null.
  searchMeta:ARRAY OF HASHES
    score:INTSortable hit score, Okapi BM25f variant.
    <field>:ARRAY OF STRINGSList of hit terms.<field> can be 'tagPrefLabel', 'termPrefLabel', 'termAltLabel', 'termBroader', 'termNarrower' or 'tagScopeNote'.
Example: /api/search?query=Zoo&format=json_pretty&lang=de
UI Example: /search?query=zoo

/api/tag

Pfad: /api/tag
Beschreibung: Erhalte Taginformationen für einen spezifischen Schlüssel oder Schlüssel=Wert Paare.
Parameter: key- Der Schlüssel des Tags vom Typ STRING. (erforderlich)
value- Der Wert des Tags vom Typ STRING. (optional)
format- Bei Wert json_pretty wird die JSON Rückgabe eingerückt. (optional)
callback- JSONP Callback Parameter. (optional)
Bemerkung: Es handelt sich hier um einen direkten Zugriff und keine Suchanfrage, d.h. die Gross- und Kleinschreibung muss beachtet werden. Falls der Tag nicht gefunden wurde, wird ein leerer HASH zurückgegeben. Die Rückgabe entspricht sonst der von /api/search ohne 'searchMeta'.
Resultat:
:HASH
  subject:STRINGWeblink zur OpenStreetMap Wiki-Seite des Tags.
  isKey:BOOLtrue falls es sich um einen Schlüssel handelt, false wenn es ein Schlüssel=Wert Paar ist.
  isTag:BOOLtrue falls es ein Schlüssel=Wert Paar ist, false wenn es sich um einen Schlüssel handelt.
  prefLabel:STRINGBezeichnung des Tags, im Format: Schlüssel oder Schlüssel=Wert
  depiction:STRINGWeblink zu einem Bild, dass den Tag auszeichnet.
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGListe mit englischen, verwandten Begriffen.
    de:ARRAY OF STRINGListe mit deutschen, verwandten Begriffen.
  scopeNote:ARRAY OF HASHES
    en:STRINGEnglische Kurzbeschreibung.
    de:STRINGDeutsche Kurzbeschreibung.
  countAll:INTAnzahl Total.
  node:ARRAY OF HASHES
    count:INTAnzahl Punkte.
    use:BOOLSoll der Tag Punkten zugeordnet werden?
  way:ARRAY OF HASHES
    count:INTAnzahl Linien.
    use:BOOLSoll der Tag Linien zugeordnet werden?
  area:ARRAY OF HASHES
    count:INTAnzahl Flächen.
    use:BOOLSoll der Tag Flächen zugeordnet werden?
  relation:ARRAY OF HASHES
    count:INTAnzahl Relationen.
    use:BOOLSoll der Tag Relationen zugeordnet werden?
  implies:ARRAY OF HASHES
    label:STRINGBezeichnung des implizierten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des implizierten Tags. Kann null sein.
  combines:ARRAY OF HASHES
    label:STRINGBezeichnung des häufig kombinierten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des häufig kombinierten Tags. Kann null sein.
  links:ARRAY OF HASHES
    label:STRINGBezeichnung des verlinkten Tags, im Format: Schlüssel=* oder Schlüssel=Wert.
    link:STRINGWeblink zur OpenStreetMap Wiki-Seite des verlinkten Tags. Kann null sein.
Beispiel: /api/tag?key=shop&value=pet
UI (kein Beispiel): /search?query=shop%3Dpet
Path: /api/tag
Description: Get tag information for one specific key or key=value pair.
Parameters: key- The key of the tag of type STRING. (required)
lang- The value of the tag of type STRING. (optional)
format- With value json_pretty the JSON output gets pretty-printed. (optional)
callback- JSONP callback parameter. (optional)
Notes: The webservice is case-sensitive: Its using direct access instead of querying it. If no tag is found an empty HASH is returned, otherwise the returned JSON is the same as /api/search without 'searchMeta'.
Result:
:HASH
  subject:STRINGWeblink to the OpenStreetMap Wiki of this tag.
  isKey:BOOLtrue if its a key, false if its a key-value pair.
  isTag:BOOLtrue if its a key-value pair, false if its a key.
  prefLabel:STRINGLabel of the tag: key or key=value
  depiction:STRINGWeblink to the image denoting this tag.
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGList of English related terms.
    de:ARRAY OF STRINGList of German related terms.
  scopeNote:ARRAY OF HASHES
    en:STRINGShort description in English.
    de:STRINGShort description in German.
  countAll:INTTotal count.
  node:ARRAY OF HASHES
    count:INTCount of nodes.
    use:BOOLIs node-use encouraged?
  way:ARRAY OF HASHES
    count:INTCount of ways.
    use:BOOLIs way-use encouraged?
  area:ARRAY OF HASHES
    count:INTCount of areas.
    use:BOOLIs area-use encouraged?
  relation:ARRAY OF HASHES
    count:INTCount of relations.
    use:BOOLIs relation-use encouraged?
  implies:ARRAY OF HASHES
    label:STRINGLabel of the implied tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this implied tag. Can be null.
  combines:ARRAY OF HASHES
    label:STRINGLabel of the combined tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this combined tag. Can be null.
  links:ARRAY OF HASHES
    label:STRINGLabel of the linked tag, key=* or key=value.
    link:STRINGWeblink to the OpenStreetMap Wiki of this linked tag. Can be null.
Example: /api/tag?key=shop&value=pet
UI (no example): /search?query=shop%3Dpet

/api/terms

Pfad: /api/terms
Beschreibung: Erhalte Informationen zu verwandten Begriffen, Ober- und Unterbegriffen.
Parameter: term- Der Begriff für den Informationen angefordert werden, vom Typ STRING. (erforderlich)
format- Bei Wert json_pretty wird die JSON Rückgabe eingerückt. (optional)
callback- JSONP Callback Parameter. (optional)
Bemerkung: Die Gross- und Kleinschreibung des erforderlichen Parameters muss beachtet werden. Falls dazu keine passenden Begriffe gefunden wurden, sind die jeweiligen Listen leer.
Resultat:
:HASH
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGListe mit englischen, verwandten Begriffen.
    de:ARRAY OF STRINGListe mit deutschen, verwandten Begriffen.
  termBroader:ARRAY OF HASHES
    en:ARRAY OF STRINGListe mit englischen Oberbegriffen.
    de:ARRAY OF STRINGListe mit deutschen Oberbegriffen.
  termNarrower:ARRAY OF HASHES
    en:ARRAY OF STRINGListe mit englischen Unterbegriffen.
    de:ARRAY OF STRINGListe mit deutschen Unterbegriffen.
Beispiel: /api/terms?term=cat&format=json_pretty
UI (kein Beispiel): /search?query=cat
Path: /api/terms
Description: Get information about related, narrower and broader terms.
Parameters: term- The term to get information for, of type STRING. (required)
format- With value json_pretty the JSON output gets pretty-printed. (optional)
callback- JSONP callback parameter. (optional)
Notes: The case of the required parameter needs to be correct. If no appropriate terms are found, the according lists will be empty.
Result:
:HASH
  termRelated:ARRAY OF HASHES
    en:ARRAY OF STRINGList of English related terms.
    de:ARRAY OF STRINGList of German related terms.
  termBroader:ARRAY OF HASHES
    en:ARRAY OF STRINGList of English broader terms.
    de:ARRAY OF STRINGList of German broader terms.
  termNarrower:ARRAY OF HASHES
    en:ARRAY OF STRINGList of English narrower terms.
    de:ARRAY OF STRINGList of German narrower terms.
Example: /api/terms?term=cat&format=json_pretty
UI (no example): /search?query=cat

/api/suggest

Pfad: /api/suggest
Beschreibung: Gibt Vorschläge für einen Suchbegriff. Es wird eine Fehlerkorrektur verwendet.
Parameter: query- Der Begriff für den Vorschläge gesucht werden soll, vom Typ STRING. (erforderlich)
lang- Gibt die Sprache an, für welche Vorschläge gesucht werden sollen. Unterstützt: 'de' und 'en'. (optional, default: alle)
format- Bei Wert json_pretty wird die JSON Rückgabe eingerückt. (optional)
callback- JSONP callback parameter. (optional)
Bemerkung: Falls keine passenden Vorschläge gefunden wurde, wird ein leeres ARRAY zurückgegeben. (Siehe auch: opensearch.xml)
Resultat:
:ARRAY OF STRINGListe mit Vorschlägen zum Suchbegriff.
Beispiel: /api/suggest?query=tabaco&lang=en
Path: /api/suggest
Description: Get suggestions for a term. Uses a spelling correction.
Parameters: query- The term to get suggestions for, of type STRING. (required)
lang- Defines the language of the suggestions to return. Currently supported: 'en' and 'de'. (optional, default: all)
format- With value json_pretty the JSON output gets pretty-printed. (optional)
callback- JSONP callback parameter. (optional)
Notes: If no suggestions could be found an empty ARRAY is retuned. (See also: opensearch.xml)
Result:
:ARRAY OF STRINGList of suggestions for the query term.
Example: /api/suggest?query=tabaco&lang=en