Wikidata:Tools/For programmers
For programmers |
Command-line tools [edit]

- Wikibase API
- Wikibase-CLI — Read and edit Wikidata or any Wikibase instance from the command line
- Wikidata Query Service
- wdq — Command line client to Wikidata Query Service (Q20950365)
- wikidata-taxonomy — Command line tool to extract taxonomies from Wikidata
- wikidata-dl — Command line program for downloading data from Wikidata based on SPARQL queries.
- Wikidata dumps
- wikibase-dump-filter — Filter and format a newline-delimited JSON stream of Wikibase entities
Data access libraries [edit]
Name | Language | Wikibase API | WDQS | JSON dumps | |
---|---|---|---|---|---|
Read | Write | ||||
wikibase-sdk | JavaScript | Yes | via wikibase-edit | Yes | via wikibase-dump-filter |
Wikidata Toolkit (docs) | Java | Yes | Yes | No | Yes |
WikiClientLibrary (docs, [2]) | .NET | Yes | Yes | No | Yes[3] |
go-wikidata (docs) | Go | Yes | No | No | No |
WikidataR (docs) | R | Yes | QS[1] | Yes | No |
WikidataQueryServiceR (docs) | R | No | No | Yes | No |
JsonDumpReader | PHP | No | No | No | Yes |
sparesults (docs) | Rust | No | No | Yes | No |
Wikidata for Ruby | Ruby | Yes | No | No | No |
- ↑ While WikidataR doesn't support writing via the Wikibase Action API, it supports writing via QuickStatements.
Python libraries[edit]
Name | Type hints | Wikibase API | WDQS | JSON dumps | |
---|---|---|---|---|---|
Read | Write | ||||
Pywikibot (docs) | Yes | Partial[1] | Partial[2] | Yes | No |
Wikibase Integrator (docs) | Yes | Partial[3] | Partial[3] | Yes | No |
Wikidata Integrator | No | Partial | Partial | Yes | No |
qwikidata (docs) | Yes | LDI[4] | No | Yes | Yes |
wikidata (docs) | Yes | LDI[4] | No | No | No |
- ↑ Pywikibot does not support e.g.
wbgetclaims
. Also note that a major API change is planned. (phab:T186200) - ↑ Pywikibot does not support
wbsetqualifier
orwbsetreference
. (phab:T186198) - ↑ 3.0 3.1 There are several API actions not (yet) supported by Wikibase Integrator. ([1])
- ↑ 4.0 4.1 While qwikidata and the
wikidata
package don't support the Wikibase Action API, they support the Linked Data Interface.
Simplifying libraries[edit]
The following libraries either simplify an existing API, automatically resolve labels or provide property-specific functions.
A JavaScript helper package (using TypeScript) based on wikidata-sdk to easily query and process data.
by Germartin1wptools is a python library intended to make it as easy as possible to get data from MediaWiki instances, expose more Wikidata, and extend Wikimedia APIs just for kicks. We say (for Humans) because that is a goal.
by Siznax
Data quality[edit]
ShExStatements allows users to generate shape expressions (ShEx/entity schemas) from simple CSV statements and files. It can be used from both web interface as well as the command line.
by JsamwritesGraphQL[edit]
Official Wikimedia development of a GraphQL API inspired by Tpt's original implementation below. There are a bit more features.
GraphQL API allowing to interact with the Wikidata content. The API endpoint URI is https://tptools.toolforge.org/wdql.php. It follows Relay specifications.
by TptImport tools[edit]
Perl module to import entities from Wikidata for processing with the Catmandu ETL framework
by JakobVossA Python tool for fast inserts into a Wikibase instance. RaiseWikibase 1) uploads up to a million entities and wikitexts per hour, 2) fills data directly into the MariaDB database, and 3) can create a bot account for the wrappers of the Wikibase API.
by RShigapovSimple Python CLI to load subsets of Wikidata into ElasticSearch from a dump or SPARQL query. Automatically paginates SPARQL queries for bulk loading.
by KdutiaTools to setup an ElasticSearch instance fed with subsets of Wikidata
by MaxlathOther datasets[edit]
A ranking signal for Wikidata. Periodically (re)computed from Wikimedia pageviews, available for bulk download. For an introduction, see the README file.
by SaschaA JSON/JS index of 183 languages accessible either by their 2-letters language code or Wikidata Qid.
by MaxlathOther[edit]
Offers a centralized, user-friendly way for The Community (TM) to provide translations for tools.
by Magnus Manske