API:REST API/pl: Difference between revisions
Updating to match new version of source page |
Updating to match new version of source page |
||
| (18 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
<languages/> |
<languages /> |
||
__notoc__ |
|||
{{REST API}} |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">The MediaWiki REST API provides access to wiki content and functionality through a [[w:REST|RESTful]], HTTP interface.</span> |
|||
{{TOCright|limit=2}} |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">It supports operations like searching, getting and transforming wiki pages, and accessing page history.</span> |
|||
{{ContentGrid |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">The MediaWiki '''REST API''' lets you interact with MediaWiki by sending [[w:Hypertext Transfer Protocol|HTTP]] requests to <code>rest.php</code> URLs.</span> |
|||
|content= |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">You can use the API to build apps and scripts that search and display wiki pages, get media files, and explore page history.</span> |
|||
{{Colored box |
|||
<span |
|title = <span lang="en" dir="ltr" class="mw-content-ltr">Get started</span> |
||
|content = <span lang="en" dir="ltr" class="mw-content-ltr">Learn about the API and get started making basic API calls.</span> |
|||
== Szybki start == |
|||
* {{ll|API:REST_API/Get_started|2=<span lang="en" dir="ltr" class="mw-content-ltr">Quick start</span>}} |
|||
<span class="mw-code mw-highlight plainlinks" style="display:block"><!-- |
|||
* {{ll|API:REST_API/Policies|2=<span lang="en" dir="ltr" class="mw-content-ltr">Access and stability policies</span>}} |
|||
-->{{#tag:span|# Search English Wikipedia for an article about Earth|class=c1}} |
|||
}} |
|||
$ curl {{#tag:span|"https://en.wikipedia.org/w/rest.php/v1/search/page?q=earth&limit=1"|class=s2}} |
|||
{{Colored box |
|||
</span> |
|||
|title = <span lang="en" dir="ltr" class="mw-content-ltr">API reference</span> |
|||
|content = <span lang="en" dir="ltr" class="mw-content-ltr">Interact with the API and find documentation for each endpoint.</span> |
|||
{{Clickable button 2 |
|||
* <span lang="en" dir="ltr" class="mw-content-ltr">[[Special:RestSandbox|Special:RestSandbox]] on any Wikimedia wiki ([[wikipedia:Special:RestSandbox|English Wikipedia example]])</span> |
|||
* {{ll|API:REST_API/Reference|2=<span lang="en" dir="ltr" class="mw-content-ltr">API reference</span>}} |
|||
|class=mw-ui-progressive |
|||
* {{ll|API:REST API/Status codes|2=<span lang="en" dir="ltr" class="mw-content-ltr">Status codes and error messages</span>}} |
|||
|url=https://en.wikipedia.org/w/rest.php/v1/search/page?q=earth&limit=1 |
|||
}} |
|||
{{Colored box |
|||
|title = <span lang="en" dir="ltr" class="mw-content-ltr">Tutorials</span> |
|||
|content = <span lang="en" dir="ltr" class="mw-content-ltr">Explore working examples of how you can use the API.</span> |
|||
* [https://public-paws.wmcloud.org/User:APaskulin_(WMF)/en-wikipedia-search.ipynb <span lang="en" dir="ltr" class="mw-content-ltr">Search Wikipedia articles</span>] |
|||
* [https://public-paws.wmcloud.org/User:APaskulin_(WMF)/en-wikipedia-page-history.ipynb <span lang="en" dir="ltr" class="mw-content-ltr">Explore page history</span>] |
|||
* [https://public-paws.wmcloud.org/User:APaskulin_(WMF)/en-wikipedia-images.ipynb <span lang="en" dir="ltr" class="mw-content-ltr">Reuse media files</span>] |
|||
}} |
|||
{{Colored box |
|||
|title = <span lang="en" dir="ltr" class="mw-content-ltr">User guides</span> |
|||
|content = <span lang="en" dir="ltr" class="mw-content-ltr">Find instructions for tasks related to this API.</span> |
|||
* {{ll|OAuth/For Developers|2=<span lang="en" dir="ltr" class="mw-content-ltr">Authenticate with OAuth</span>}} |
|||
* {{ll|API:REST API/Extensions|2=<span lang="en" dir="ltr" class="mw-content-ltr">Build REST APIs for extensions</span>}} |
|||
* {{ll|Manual:CORS|2=<span lang="en" dir="ltr" class="mw-content-ltr">Make CORS requests</span>}} |
|||
}} |
|||
}} |
}} |
||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
== |
== API features == |
||
</div> |
</div> |
||
<span lang="en" dir="ltr" class="mw-content-ltr">REST API endpoints return data in [[w:JSON|JSON]] or [[w:HTML|HTML]] format.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">See the [[Special:MyLanguage/API:REST API/Reference|API reference]] for the content type supported by each endpoint.</span> |
|||
<span id="Methods"></span> |
|||
== Metody == |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
The MediaWiki REST API offers the following key features: |
|||
The API supports standard [[w:Hypertext Transfer Protocol#Request methods|HTTP request methods]]. |
|||
</div> |
</div> |
||
* <span lang="en" dir="ltr" class="mw-content-ltr">Build apps and scripts that access content from Wikipedia, or any other [[m:Special:SiteMatrix|Wikimedia project]].</span> |
|||
{| class="wikitable" |
|||
* <span lang="en" dir="ltr" class="mw-content-ltr">Get data in [[w:JSON|JSON]] or [[w:HTML|HTML]] format.</span> |
|||
|- |
|||
* <span lang="en" dir="ltr" class="mw-content-ltr">Define {{ll|API:REST_API/Extensions|extension-specific API endpoints}} within MediaWiki extensions.</span> |
|||
! GET |
|||
| <span lang="en" dir="ltr" class="mw-content-ltr">Retrieve resource</span> |
|||
|- |
|||
! HEAD |
|||
| <span lang="en" dir="ltr" class="mw-content-ltr">Return [[w:List of HTTP header fields|HTTP headers]] for a GET request without response data</span> |
|||
|- |
|||
! POST |
|||
| <span lang="en" dir="ltr" class="mw-content-ltr">Create resource</span> |
|||
|- |
|||
! PUT |
|||
| <span lang="en" dir="ltr" class="mw-content-ltr">Update or create resource</span> |
|||
|} |
|||
< |
<span lang="en" dir="ltr" class="mw-content-ltr">Compared to the {{ll|API:Action_API|MediaWiki Action API}}, the REST API offers:</span> |
||
== URL structure == |
|||
</div> |
|||
< |
* <span lang="en" dir="ltr" class="mw-content-ltr">A smaller, more streamlined set of operations and resources.</span> |
||
* <span lang="en" dir="ltr" class="mw-content-ltr">Better performance, and cached responses to reduce system load on Wikimedia projects.</span> |
|||
API endpoints share a consistent URL structure that includes the wiki's base URL, the wiki's [[Special:MyLanguage/Manual:$wgScriptPath|script path]], and the API version. |
|||
* <span lang="en" dir="ltr" class="mw-content-ltr">Simple, consistent URL structure for endpoints.</span> |
|||
</div> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">To learn more about how the MediaWiki REST API compares to other available APIs, see {{ll|API}}.</span> |
|||
<syntaxhighlight lang=bash> |
|||
# URL structure |
|||
[project url]/[script path]/rest.php/v[version number]/ |
|||
# Example URL: Get the history of the Main Page of English Wikipedia |
|||
https://en.wikipedia.org/w/rest.php/v1/page/Main_Page/history |
|||
</syntaxhighlight> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
== |
== Get help == |
||
</div> |
</div> |
||
{{Component|mediawiki-rest-api}} |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Designed to provide long-term stability for developers, the MediaWiki REST API is versioned using a global version number in the API path (for example: <code>/v1/</code>).</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Following the principles of [https://semver.org/ semantic versioning], the version is incremented when an endpoint is changed in a backwards-incompatible way, such as removing a response property or adding a required parameter.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Within a major version, the API may change in backwards-compatible ways, such as adding a response property or optional request parameter.</span> |
|||
<!-- TODO: When new versions are used, this should be converted to use {{tmpl}} |
|||
-- or something in order to minimise translation unit duplication --> |
|||
{| class="wikitable" |
|||
|- |
|||
! <code>/v1/</code> (<span lang="en" dir="ltr" class="mw-content-ltr">latest</span>) |
|||
| <span lang="en" dir="ltr" class="mw-content-ltr">Available in {{ll|MediaWiki 1.35}}</span> |
|||
|} |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
== Contribute == |
|||
== Permissions and authorization == |
|||
</div> |
</div> |
||
<span lang="en" dir="ltr" class="mw-content-ltr"> |
<span lang="en" dir="ltr" class="mw-content-ltr">These docs are written manually based on the {{tmpl|0={{git file|file=includes/Rest|text=$1}}|MediaWiki Core source code}}.</span> |
||
<span lang="en" dir="ltr" class="mw-content-ltr"> |
<span lang="en" dir="ltr" class="mw-content-ltr">Corrections and additions are welcome!</span> |
||
<span lang="en" dir="ltr" class="mw-content-ltr">To share a tutorial or app that uses the MediaWiki REST API, add a comment on the [[API_talk:REST_API|Talk page]].</span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
== Client libraries == |
|||
== Accessing Wikimedia projects using the REST API == |
|||
</div> |
</div> |
||
<span lang="en" dir="ltr" class="mw-content-ltr"> |
* [https://github.com/magnusmanske/mediawiki_rest_api <span lang="en" dir="ltr" class="mw-content-ltr">Rust</span>] |
||
<span lang="en" dir="ltr" class="mw-content-ltr">For a complete list of Wikimedia project URLs, see [[m:Special:SiteMatrix|Meta-Wiki’s site matrix]].</span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
<div lang="en" dir="ltr" class="mw-content-ltr"> |
||
== APIs for Wikimedia wikis == |
|||
=== Request limit === |
|||
</div> |
</div> |
||
<span lang="en" dir="ltr" class="mw-content-ltr"> |
<span lang="en" dir="ltr" class="mw-content-ltr">For information about other APIs available for Wikimedia wikis, see {{ll|Wikimedia APIs}}.</span> |
||
<span lang="en" dir="ltr" class="mw-content-ltr"> |
<span lang="en" dir="ltr" class="mw-content-ltr">See recent changes to all Wikimedia APIs at {{ll|Wikimedia APIs/Changelog}}.</span> |
||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
=== Client identification === |
|||
</div> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia sites require an HTTP [[w:User-Agent header|User-Agent header]] for all API requests.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">This helps identify your app and ensures that system administrators can contact you if a problem arises.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Clients making requests without a User-Agent header may be IP-blocked without notice.</span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
The User-Agent header can include a user page on the local wiki, a user page on a related wiki using [[m:Special:MyLanguage/Help:Interwiki linking on Wikimedia wikis|interwiki linking syntax]], a URL for a relevant external website, or an email address. |
|||
</div> |
|||
{{#tag:syntaxhighlight| |
|||
# Preferred format for User-Agent headers |
|||
{{tmpl|0= |
|||
<$2>/<$1> (<$3>) <$4>/<$1> |
|||
|1=wersja |
|||
|2=nazwa klienta |
|||
|3=informacje kontaktowe |
|||
|4=library/framework name |
|||
}} |
|||
| lang = "bash" |
|||
}} |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">If you are calling the API from browser-based JavaScript, you may not be able to influence the User-Agent header, depending on the browser.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">To work around this, use the <code>Api-User-Agent</code> header.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">See the [[foundation:Special:MyLanguage/Policy:User-Agent policy|User-Agent policy]] for more information.</span> |
|||
<span id="Authorization"></span> |
|||
=== Autoryzacja === |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
To authorize your app to act on behalf of a user, follow the [[Special:MyLanguage/OAuth/For Developers|OAuth developer guide]] to register your app and make requests using OAuth tokens. |
|||
</div> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
=== Licensing and trademarks === |
|||
</div> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Wikimedia content is free to reuse within the terms specified by the applicable license.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Licenses can differ between projects, so see the individual project for information about licenses and content reuse.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">For example, English Wikipedia’s text can be used under the terms of the [[w:Wikipedia:Text of Creative Commons Attribution-ShareAlike 4.0 International License|Creative Commons Attribution Share-Alike license]], while media files on [[c:Special:MyLanguage/Commons:Reusing content outside Wikimedia|Wikimedia Commons]] are licensed individually as indicated on the file’s information page.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">For more information about licensing and trademark use, see [[m:Special:MyLanguage/Developer app guidelines|Meta-Wiki’s developer app guidelines]].</span> |
|||
<span id="Limitations_on_Wikidata"></span> |
|||
=== Ograniczenia Wikidanych === |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">While the REST API is available on Wikimedia projects, it is not fully supported by Wikidata.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">As of writing, some of the endpoints may return unexpected errors.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Instead, use the [[wikidata:Special:MyLanguage/Wikidata:REST_API|Wikidata REST API]].</span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== Extension endpoints == |
|||
</div> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">MediaWiki extensions can provide extension-specific API endpoints using the REST API interface.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">See the [[Special:MyLanguage/API:REST/Extensions|REST API extension interface docs]] to get started.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">In {{ll|MediaWiki 1.35}} and later, the REST API extension interface is available by default.</span> |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== API comparison == |
|||
</div> |
|||
{{API comparison}} |
|||
<div lang="en" dir="ltr" class="mw-content-ltr"> |
|||
== About these docs == |
|||
</div> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">These docs are written manually based on the {{tmpl|0={{git file|file=includes/Rest|text=$1}}|MediaWiki Core source code}}.</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">Corrections and additions are welcome!</span> |
|||
<span lang="en" dir="ltr" class="mw-content-ltr">To share a tutorial or app that uses the MediaWiki REST API, add a link to the [[Special:MyLanguage/Template:REST API|REST API template]].</span> |
|||
<span id="See_also"></span> |
|||
== Zobacz też == |
|||
* <span lang="en" dir="ltr" class="mw-content-ltr">[[w:REST API|REST API]] on Wikipedia</span> |
|||
* {{ll|Core Platform Team/Initiatives/Core REST API in MediaWiki|2=<span lang="en" dir="ltr" class="mw-content-ltr">REST API initiative page</span>}} |
|||
* {{ll|Manual:$wgRestPath}} |
|||
{{Component|mediawiki-rest-api}} |
|||
Latest revision as of 22:34, 1 June 2026
The MediaWiki REST API provides access to wiki content and functionality through a RESTful, HTTP interface. It supports operations like searching, getting and transforming wiki pages, and accessing page history.
Learn about the API and get started making basic API calls.
Interact with the API and find documentation for each endpoint.
- Special:RestSandbox on any Wikimedia wiki (English Wikipedia example)
- API reference
- Status codes and error messages
Explore working examples of how you can use the API.
Find instructions for tasks related to this API.
API features
The MediaWiki REST API offers the following key features:
- Build apps and scripts that access content from Wikipedia, or any other Wikimedia project.
- Get data in JSON or HTML format.
- Define extension-specific API endpoints within MediaWiki extensions.
Compared to the MediaWiki Action API, the REST API offers:
- A smaller, more streamlined set of operations and resources.
- Better performance, and cached responses to reduce system load on Wikimedia projects.
- Simple, consistent URL structure for endpoints.
To learn more about how the MediaWiki REST API compares to other available APIs, see API.
Get help
- Zarządzany przez MediaWiki Interfaces Team.
- Czat na żywo (IRC): #mediawiki-core connect
- Zgłaszanie błędów: Phabricator - MediaWiki-REST-API (Zgłoś problem)
Contribute
These docs are written manually based on the MediaWiki Core source code. Corrections and additions are welcome! To share a tutorial or app that uses the MediaWiki REST API, add a comment on the Talk page.
Client libraries
APIs for Wikimedia wikis
For information about other APIs available for Wikimedia wikis, see Wikimedia APIs. See recent changes to all Wikimedia APIs at Wikimedia APIs/Changelog.