Content deleted Content added
Nick Levine (talk | contribs) Reverted 1 edit by 94.24.89.188 (talk): Unexplained link removal |
→See also: WP:SEEALSO, linked in lead |
||
(16 intermediate revisions by 13 users not shown) | |||
Line 1:
{{Short description|HTTP-based application programming interface on the web}}
[[File:Screenshot of NASA API documentation.png|thumb|Screenshot of web API documentation written by
A '''web API''' is an [[API|application programming interface]] (API) for either a [[web server]] or a [[web browser]].
As a
A
A [[
==Client side==
A [[client-side]] web API is a programmatic interface to extend functionality within a [[web browser]] or other HTTP client. Originally these were most commonly in the form of native [[plug-in (computing)|plug-in]] [[browser extension]]s however most newer ones target standardized [[JavaScript]] bindings.
The [[Mozilla Foundation]] created their WebAPI specification which is designed to help replace native mobile applications with [[HTML5]] applications.<ref>{{Cite web|date=2013-12-05|title=Mozilla's WebAPI Wants to Replace Native Apps With HTML5 {{!}} Webmonkey {{!}} Wired.com|url=http://www.webmonkey.com/2011/08/mozillas-webapi-wants-to-replace-native-apps-with-html5/|access-date=2022-01-13|archive-url=https://web.archive.org/web/20131205024538/http://www.webmonkey.com/2011/08/mozillas-webapi-wants-to-replace-native-apps-with-html5/ |archive-date=2013-12-05 }}</ref><ref>[https://developer.mozilla.org/en-US/docs/
[[Google]] created their [[Google Native Client|Native Client]] architecture which is designed to help replace insecure native plug-ins with secure native [[sandbox (computer security)|sandbox]]ed extensions and applications. They have also made this portable by employing a modified [[LLVM]] [[ahead-of-time compilation|AOT compiler]].
Line 25 ⟶ 26:
===Resources versus services===
[[Web 2.0]] Web APIs often use machine-based interactions such as [[
===Documentation===
Line 35 ⟶ 36:
The number of available web APIs has grown consistently over the past years, as businesses realize the growth opportunities associated with running an open platform, that any developer can interact with. [[ProgrammableWeb]] tracks over 24000 Web APIs that were available in 2022, up from 105 in 2005.
Web APIs have become
As the number of available web APIs has grown, open source tools have been developed to provide more sophisticated search and discovery. APIs.json provides a machine-readable description of an API and its operations, and the related project APIs.io offers a searchable public listing of APIs based on the APIs.json metadata format.<ref>{{Cite web|url=http://apisjson.org/|title=APIs.json|website=apisjson.org|access-date=2016-03-14}}</ref><ref>{{Cite web|url=http://apis.io/|title=APIs.io - the API search engine|website=apis.io|access-date=2016-03-14}}So make it clearly understandable & share your knowledge.</ref>
Line 45 ⟶ 46:
====Governmental====
Many governments collect a lot of data, and some governments are now opening up access to this data. The interfaces through which this data is typically made accessible are web APIs. Web APIs allow for data, such as "budget, public works, crime, legal, and other agency data"<ref>{{Cite web|title = Tech Trends 2015, API economy|url = http://dupress.com/articles/tech-trends-2015-what-is-api-economy/|website = Deloitte University Press|access-date = 2015-11-03|archive-date = 2016-08-15|archive-url = https://web.archive.org/web/20160815023024/http://dupress.com/articles/tech-trends-2015-what-is-api-economy/|url-status = dead}}</ref> to be accessed by any developer in a convenient manner.
==Example==
Line 52 ⟶ 53:
According to the API documentation,<ref>{{cite web |url=https://api.nasa.gov/ |website=NASA APIs |title=Astronomy Picture of the Day }}</ref> the API has one endpoint:
https://api.nasa.gov/planetary/apod{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}
The documentation states that this endpoint accepts [[GET request]]s. It requires one piece of information from the user, an [[API key]], and accepts several other optional pieces of information. Such pieces of information are known as ''parameters''. The parameters for this API are written in a format known as a [[query string]], which is separated by a [[question mark]] character (<code>?</code>) from the endpoint. An [[ampersand]] (<code>&</code>) separates the parameters in the query string from each other. Together, the endpoint and the query string form a [[URL]] that determines how the API will respond. This URL is also known as a ''query'' or an ''API call''.
Line 83 ⟶ 84:
==See also==
*[[Dynamic web page]]
*[[Overview of RESTful API Description Languages]]
*[[
*[[GraphQL]]
*[[Web service]]
Line 103:
|isbn=978-1-4493-0892-6}}
*{{cite book |title=Web API Design - Crafting Interfaces that Developers Love |last1=Mulloy |first1=Brian |publisher=Apigee |url=https://pages.apigee.com/rs/351-WXY-166/images/Web-design-the-missing-link-ebook-2016-11.pdf}}
*{{cite web |title=Web APIs |url=https://developer.chrome.com/extensions/api_other |website=Google Chrome |access-date=2015-11-30 |archive-date=2018-07-19 |archive-url=https://web.archive.org/web/20180719084229/https://developer.chrome.com/extensions/api_other |url-status=dead }}
*{{cite web |title=Web API reference - Web technology reference |url=https://developer.mozilla.org/en-US/docs/Web/Reference/API |website=[[Mozilla Developer Network]]|date=20 February 2023 }}
*{{cite web |title=Web API Demonstration |url=http://sourcecodehub.com/article/428/api-demonstration-aspnet |website=Web API Demonstration}}
|