fshy

Home / Data APIs

Wikidata

www.wikidata.org/wiki/Wikidata:Data_accessOpen knowledge graph: SPARQL, REST, GraphQL and Action APIs, with weekly full dumpsdata-apis/wikidataJSONcomparereport an errorprovider JSON

Free allowance
Reads need no account and no key.
Verdict
caveatusable, with a named limit or an unprobed read path
Cost
free tier
Identity
anonymousno card, no phone
Binding limit
request-rate10 requests per minute for an unidentified client, identified by nothing but its IP address; 200 requests per minute for an unauthenticated client with a compliant User-Agent, and for a new account; 2000 per minute for an established...
Evidence
measured74 sources; a live request was made and its output kept
Freshness
stale on 2027-01-03checked 2026-11-03 (live); stale on 2027-01-03
Free tierReads need no account and no key. Wikimedia API limits are per minute: 10 requests for an unidentified client, 200 for an unauthenticated client with a compliant User-Agent, 200 for a new account and 2000 for an established editor. The Wikidata Query Service allows 60 seconds of processing per 60 seconds per User-Agent and IP. The whole graph is a weekly JSON dump; latest-all.json.bz2 is 103,565,615,653 bytes.
unit requests; metered on request-count; The per-minute limits are new in 2026 and stated to be subject to experimentation and change. A compliant User-Agent carries contact information. Accounts with a bot flag are exempt. The query service at query.wikidata.org holds the main graph; scholarly-article items are in a separate service at query-scholarly.wikidata.org. Daily incremental dumps carry the last 24 hours of additions.
Pricenone stated
Limits
  • request-rate (binding) 10 requests per minute for an unidentified client, identified by nothing but its IP address source
  • request-rate (binding) 200 requests per minute for an unauthenticated client with a compliant User-Agent, and for a new account; 2000 per minute for an established editor source
  • request-rate (binding) Wikidata Query Service: 60 seconds of processing time per 60 seconds per User-Agent and IP, 30 error queries per minute, 5 parallel queries per IP source
  • per-ip-shaping dump downloads rate limited and capped at 3 connections per IP; one connection read 16,777,216 bytes in 5501.7 ms source
  • request-rate (binding) 200 requests per minute for a User-Agent that carries a contact URL: the 201st request in a minute answered 429 with a Retry-After header, on the Action API and on the REST API
  • request-rate (binding) a User-Agent that names no contact, with the Action API and the REST API counted together: each source address was answered 200 for its first 10 requests in a minute and 429 after, so requests that left from four source addresses were answered 429 from the 41st
  • request-rate (binding) Wikidata Query Service: no per-minute request ceiling was met; 50 parallel queries with a User-Agent that names no contact, and 250 queries within one minute with a User-Agent that carries a contact URL, all answered 200, although the manual gives 5 parallel queries per IP
Every SPARQL query has a hard 60-second deadline. A client that keeps sending past a 429 can be temporarily banned from the query service. The rate-limit page asks for 3 or fewer concurrent requests. Fifteen parallel REST reads sent with a User-Agent that names no contact answered 13 times 200 and twice 404, with no 429. A request with a generic library User-Agent (python-requests) answered 403 with a request to set a User-Agent, and 30 such parallel reads all answered 403. The per-minute ceilings are enforced by the REST gateway, an Envoy rate-limit service that keeps its counters in Redis, on the Action API and the REST API; the rate-limit FAQ says the request limits currently apply to those two APIs, and the query service is throttled by processing time instead. The gateway counts requests whose User-Agent names no contact per source address and requests whose User-Agent carries a contact per contact string. A 429 from the gateway carries Retry-After, the header x-envoy-ratelimited and the text "You are making too many requests to the API."
Bindingrequest-rate An unidentified client gets 10 requests per minute and a compliant User-Agent 200, so a whole-graph read goes to the weekly dump, which is shaped per IP rather than counted.
Identityanonymous No account and no key for the APIs or the dumps: the query service and the REST API answered 200 to requests sent without an account. A descriptive User-Agent is required in practice: a generic library User-Agent answered 403. A User-Agent with contact information moves a client from the 10 to the 200 requests-per-minute class; an account adds rate only for an established editor (2000 per minute) or an account with a bot flag (exempt).
EgressFree, with no byte price; dump downloads are rate limited and capped at 3 connections per IP, and a client without an informative User-Agent may be blocked without notice
free allowance: no byte allowance published
Per-object capa SPARQL query stops at a hard 60-second deadline; the Action API returns entities in groups of up to 50 per request; the full JSON dump is one 103,565,615,653-byte bz2 file read with HTTP ranges
Retentionthe entity-dump index listed dated directories from 20260914 to 20261028 on 2026-10-30; older RDF and JSON dumps from April 20, 2015 on are kept on the Internet Archive
Interfacerest, graphql SPARQL over HTTP GET or POST at https://query.wikidata.org/sparql (the vocabulary has no SPARQL term, so it is filed under rest), the Wikibase REST API, the MediaWiki Action API, the Wikibase GraphQL API, and dumps over HTTPS with Range support: JSON, Turtle and N-Triples (all and truthy), lexemes, and daily incremental dumps.
ToolingAny HTTP client that sends a descriptive User-Agent; SPARQL clients against the query service; JSON dump readers named on the download page (qwikidata and simple-wikidata-db in Python, wd2sql in Rust, JsonDumpReader in PHP); lbzip2 for the parallel-compressed bz2 dumps.
Composes withThe weekly JSON dump is the bulk path for a whole-graph read and the per-minute APIs answer targeted lookups; the Wikimedia Enterprise free account (50,000 on-demand requests and 30 snapshot requests a month, no card) is a second, keyed bulk route to the same data.
ReliabilityThe 2026 per-minute limits are stated to be subject to change; a client that ignores 429 answers can be temporarily banned, and a request with a generic library User-Agent answered 403 at once.
NotesCaveat: an unidentified client is held to 10 requests per minute, and the per-minute classes are new in 2026. The JSON and RDF entity dumps are stable interfaces; the XML dumps are not, and the XML dumps of all wikis are deprecated with a January 2027 sunset.
Evidence notemeasured The per-minute ceilings are read: requests whose User-Agent carries a contact URL were answered 429 from the 201st request in a minute on the Action API and on the REST API, and requests whose User-Agent names no contact were answered 429 after the first 10 requests from each source address, so from the 41st when the requests left from four source addresses; the query service answered 200 to all 250 queries sent in one minute. The read path was probed: the SPARQL endpoint and the REST API answered 200 with no account, the JSON dump answered a HEAD with its size and a 206 to a 16 MiB range, and reads with a generic library User-Agent answered 403. The 200 per minute of a new account and the 2000 of an established editor were not read: unverified: behind a sign-up.
Parsed numbers
  • has-free-tier 1
  • request-rate 10 requests / minute
  • request-rate 200 requests / minute
  • request-rate 200 requests / minute
  • request-rate 10 requests
Evidence 74
datesourcewhat it proved
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan unidentified client, identified by nothing but its IP address, is limited to 10 requests per minute
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan unauthenticated client with a compliant User-Agent is limited to 200 requests per minute
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsa new or low-edit account is limited to 200 requests per minute
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan established editor's account is limited to 2000 requests per minute
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsaccounts with a bot flag are exempt from the per-minute API limits
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsthe limits are counted per minute
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsthe per-minute limits are new in 2026 and may change
2026-10-30www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsclients are asked to keep 3 or fewer concurrent requests
2026-10-30foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_Usa compliant User-Agent carries contact information, and a script without one may be blocked
2026-10-30www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manualthe query service allows 60 seconds of processing per 60 seconds per User-Agent and IP
2026-10-30www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manualthe query service allows 30 error queries per minute
2026-10-30www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manualthe query service allows 5 parallel queries per IP
2026-10-30www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manualpart of the text of Limits, above
2026-10-30www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manuala client that keeps sending past 429 answers can be temporarily banned
2026-10-30www.wikidata.org/wiki/Wikidata:Data_accessthe query service is reached programmatically by GET or POST at https://query.wikidata.org/sparql
2026-10-30www.wikidata.org/wiki/Wikidata:Data_accessquery.wikidata.org holds the main graph; scholarly-article items are on query-scholarly.wikidata.org
2026-10-30www.wikidata.org/wiki/Wikidata:Data_accessthe Action API returns entities in groups of up to 50 per request
2026-10-30www.wikidata.org/wiki/Wikidata:Data_accessa GraphQL API exists for Wikidata
2026-10-30www.wikidata.org/wiki/Wikidata:Database_downloadthe JSON entity dumps are produced weekly
2026-10-30www.wikidata.org/wiki/Wikidata:Database_downloaddaily incremental dumps carry the last 24 hours of additions
2026-10-30www.wikidata.org/wiki/Wikidata:Database_downloadJSON and RDF dumps are stable interfaces and XML dumps are not
2026-10-30www.wikidata.org/wiki/Wikidata:Database_downloadolder RDF and JSON dumps from April 20, 2015 on are on the Internet Archive
2026-10-30dumps.wikimedia.org/wikidatawiki/entities/latest-all.json.bz2 is 103,565,615,653 bytes, dated 27-Oct-2026
2026-10-30dumps.wikimedia.org/wikidatawiki/entities/the oldest dated entity-dump directory listed is 20260914
2026-10-30dumps.wikimedia.org/dump downloads are rate limited and capped at 3 connections per IP
2026-10-30dumps.wikimedia.org/part of the text of Notes, above
2026-10-30probe: https://dumps.wikimedia.org/wikidatawiki/entities/latest-all.json.bz2a HEAD with no account answered 200 with content-length 103565615653 and accept-ranges bytes
2026-10-30probe: https://dumps.wikimedia.org/wikidatawiki/entities/latest-all.json.bz2a ranged GET of the first 16 MiB answered 206 with 16,777,216 bytes
2026-10-30probe: https://dumps.wikimedia.org/wikidatawiki/entities/latest-all.json.bz2the 16 MiB range took 5501.7 ms on one connection
2026-10-30probe: https://query.wikidata.org/sparqla SPARQL GET with no account and no contact User-Agent answered 200 with sparql-results JSON
2026-10-30probe: https://www.wikidata.org/w/rest.php/wikibase/v1/entities/items/Q146/labels/enthe Wikibase REST API answered 200 to a label read with no account
2026-10-30enterprise.wikimedia.com/pricing/the Wikimedia Enterprise free account covers Wikidata and needs no card
2026-10-30enterprise.wikimedia.com/pricing/the free Enterprise account allows up to 50,000 on-demand requests a month
2026-10-30enterprise.wikimedia.com/pricing/the free Enterprise account allows up to 30 snapshot requests a month
2026-10-31probe: https://www.wikidata.org/w/rest.php/wikibase/v1/entities/items/Q101/labels/en15 parallel Wikibase REST label reads with a User-Agent that names no contact answered 13 times 200 and twice 404, none 429
2026-10-31probe: https://www.wikidata.org/w/rest.php/wikibase/v1/entities/items/Q101/labels/enthe reads were sent 15 at a time
2026-10-31probe: https://www.wikidata.org/w/rest.php/wikibase/v1/entities/items/Q42/labels/ena REST read sent with a generic library User-Agent (python-requests) answered 403 asking for a User-Agent
2026-10-31probe: https://www.wikidata.org/w/rest.php/wikibase/v1/entities/items/Q207/labels30 parallel REST reads sent with a generic library User-Agent all answered 403
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2201&props=labels&languages=en&format=jsonthe fifth burst of 50 parallel Action API requests, sent in one minute with no account and no key and a User-Agent that carries a contact URL, answered 429 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2001&props=labels&languages=en&format=jsonthe first burst of 50 parallel Action API requests, sent in one minute with no account and no key and a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2051&props=labels&languages=en&format=jsonthe second burst of 50 parallel Action API requests, sent in one minute with no account and no key and a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2101&props=labels&languages=en&format=jsonthe third burst of 50 parallel Action API requests, sent in one minute with no account and no key and a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2151&props=labels&languages=en&format=jsonthe fourth burst of 50 parallel Action API requests, sent in one minute with no account and no key and a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2201&props=labels&languages=en&format=jsonthe 429 answers to the User-Agent that carries a contact URL on the Action API carried a Retry-After of 47 seconds and came from a server named envoy
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1201the 429 answers to the User-Agent that carries a contact URL on the REST API carried a Retry-After of 48 seconds and came from a server named envoy
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1001the first burst of 50 parallel REST API requests, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1051the second burst of 50 parallel REST API requests, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1101the third burst of 50 parallel REST API requests, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1151the fourth burst of 50 parallel REST API requests, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=1201the fifth burst of 50 parallel REST API requests, sent in one minute with a User-Agent that carries a contact URL, answered 429 for all 50
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q7001&props=labels&languages=en&format=json60 parallel requests with a User-Agent that names no contact left from four source addresses, shown here as labels; counted over its runs, each address was answered 200 for exactly 10 requests and 429 for each further request
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q6001&props=labels&languages=en&format=json45 parallel Action API requests with a User-Agent that names no contact, sent with no account and no key, answered 200 for 40 and 429 for 5
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q4001&props=labels&languages=en&format=json25 parallel Action API requests with a User-Agent that names no contact answered 200 for all 25
2026-11-02probe: https://www.wikidata.org/w/rest.php/wikibase/v1/property-data-types?x=200125 parallel REST API requests sent in the same minute with the same User-Agent answered 200 for 15 and 429 for 10, so the two APIs share one count
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3101%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%20150 parallel Wikidata Query Service queries with a User-Agent that names no contact answered 200 for all 50
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3201%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%201the first burst of 50 parallel Wikidata Query Service queries, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3251%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%201the second burst of 50 parallel Wikidata Query Service queries, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3301%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%201the third burst of 50 parallel Wikidata Query Service queries, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3351%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%201the fourth burst of 50 parallel Wikidata Query Service queries, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02probe: https://query.wikidata.org/sparql?format=json&query=SELECT%20%3Fl%20WHERE%20%7B%20wd%3AQ3401%20rdfs%3Alabel%20%3Fl%20FILTER(LANG(%3Fl)%3D%22en%22)%20%7D%20LIMIT%201the fifth burst of 50 parallel Wikidata Query Service queries, sent in one minute with a User-Agent that carries a contact URL, answered 200 for all 50
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits/FAQthe request-based rate limits currently apply to the Action API and the REST API
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limits/FAQcost-based or concurrency limits for the Wikidata Query Service are only being explored, so the request limits do not apply to it
2026-11-02wikitech.wikimedia.org/wiki/External_request_limitsthe API rate limits are enforced by the REST gateway
2026-11-02wikitech.wikimedia.org/wiki/External_request_limitsthe API rate limits apply across sites and services but only to API endpoints
2026-11-02wikitech.wikimedia.org/wiki/REST_Gateway/Rate_limitingthe gateway rate limiting is an Envoy rate-limit service with Redis counters
2026-11-02wikitech.wikimedia.org/wiki/REST_Gateway/Rate_limitingrequests with no contact in the User-Agent fall in the anon class, whose counter key is the source address
2026-11-02wikitech.wikimedia.org/wiki/REST_Gateway/Rate_limitingrequests with a compliant User-Agent are counted per contact string
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q6100&props=labels&languages=en&format=jsona 429 answer came from a server named envoy with the header x-envoy-ratelimited: true and a Retry-After of 56 seconds
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q6100&props=labels&languages=en&format=json#429-bodythe 429 answer body says the caller is making too many requests to the API
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan unidentified caller, identified by nothing but its IP address, is limited to 10 requests per minute
2026-11-02probe: https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q2201&props=labels&languages=en&format=jsonthe 429 ceiling of the User-Agent class that carries a contact URL was read on the Action API
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan unauthenticated caller with a compliant User-Agent is limited to 200 requests per minute
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsa new or low-edit account is limited to 200 requests per minute
2026-11-02www.mediawiki.org/wiki/Wikimedia_APIs/Rate_limitsan established editor's account is limited to 2000 requests per minute