{"openapi":"3.1.0","info":{"title":"Wikibooks API","version":"1.0.0","description":"Wikibooks as an API — the Wikimedia library of free, open-content textbooks, manuals and learning guides, community-written and freely licensed. Wikibooks covers programming and computer science, mathematics, the natural and social sciences, languages, engineering, cooking, music and much more, organised as books made up of chapters. This API wraps the official Wikibooks MediaWiki service into clean JSON. /v1/search?q=python programming searches the library and returns matching book and chapter titles with a text snippet and word count. /v1/book?title=Python Programming returns a book's overview — its short description, the plain-text introduction, a cover thumbnail and the canonical URL. /v1/chapters?title=Python Programming lists the book's chapters (its subpages, e.g. Python Programming/Operators, Python Programming/Classes), each with the chapter name and URL, so you can browse and present a whole book's structure. Titles are Wikibooks page names; get the exact title from /v1/search first. Ideal for e-learning platforms and study apps, open-education and OER tools, reading lists, and developer/teaching content aggregators. Content is licensed CC BY-SA by the Wikibooks community. Distinct from book-metadata catalogues — this is actual free educational content. For travel guides see the Wikivoyage API, for the encyclopaedia the Wikipedia API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/wikibooks-api","description":"oanor gateway"}],"tags":[{"name":"Books"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/book":{"get":{"operationId":"get_v1_book","tags":["Books"],"summary":"A book overview","description":"","parameters":[{"name":"title","in":"query","required":true,"description":"Book title, e.g. Python Programming","schema":{"type":"string"},"example":"Python Programming"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"book":{"url":"https://en.wikibooks.org/wiki/Python_Programming","title":"Python Programming","overview":"This book describes Python, an open-source general-purpose interpreted programming language available for the most popular  operating systems. The current versions are 3.x while versions 2.x are no longer supported, since 2020. This book describes primarily the versions 3.x, but does at times reference versions 2.x.\nThere are a few implementations of Python 3 (all of which also support Python 2):\n\nCPython, the standard implementation written in C.\nPyPy, a JIT-compiled version written in RPython (a subset of Python).\nIronPython, a C# implementation that runs on the .NET environment.\nNuitka, a Python 3 to C 11 transpiler.\nJython, a Java implementation is also available, however it only supports Python 2.","description":"general-purpose programming language"}},"meta":{"timestamp":"2026-06-01T16:23:36.818Z","request_id":"c7e78947-8fed-429d-ae04-72a78edfed7c"},"status":"ok","message":"Book retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/chapters":{"get":{"operationId":"get_v1_chapters","tags":["Books"],"summary":"A book chapters (subpages)","description":"","parameters":[{"name":"title","in":"query","required":true,"description":"Book title, e.g. Python Programming","schema":{"type":"string"},"example":"Python Programming"},{"name":"limit","in":"query","required":false,"description":"Max chapters (1-500)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"book":"Python Programming","count":82,"chapters":[{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FOperators","title":"Python Programming/Operators","chapter":"Operators"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FClasses","title":"Python Programming/Classes","chapter":"Classes"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPrint_version","title":"Python Programming/Print version","chapter":"Print version"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FLists","title":"Python Programming/Lists","chapter":"Lists"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FInput_and_Output","title":"Python Programming/Input and Output","chapter":"Input and Output"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FStrings","title":"Python Programming/Strings","chapter":"Strings"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGetting_Python","title":"Python Programming/Getting Python","chapter":"Getting Python"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FTkinter","title":"Python Programming/Tkinter","chapter":"Tkinter"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FFunctions","title":"Python Programming/Functions","chapter":"Functions"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FControl_Flow","title":"Python Programming/Control Flow","chapter":"Control Flow"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FVersion_history","title":"Python Programming/Version history","chapter":"Version history"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExcel","title":"Python Programming/Excel","chapter":"Excel"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FData_Types","title":"Python Programming/Data Types","chapter":"Data Types"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGUI_Programming","title":"Python Programming/GUI Programming","chapter":"GUI Programming"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDatabases","title":"Python Programming/Databases","chapter":"Databases"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSets","title":"Python Programming/Sets","chapter":"Sets"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGame_Programming_in_Python","title":"Python Programming/Game Programming in Python","chapter":"Game Programming in Python"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExtending_with_C","title":"Python Programming/Extending with C","chapter":"Extending with C"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FVariables_and_Strings","title":"Python Programming/Variables and Strings","chapter":"Variables and Strings"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FIdioms","title":"Python Programming/Idioms","chapter":"Idioms"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FModules","title":"Python Programming/Modules","chapter":"Modules"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSequences","title":"Python Programming/Sequences","chapter":"Sequences"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FBasic_Syntax","title":"Python Programming/Basic Syntax","chapter":"Basic Syntax"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FContext_Managers","title":"Python Programming/Context Managers","chapter":"Context Managers"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FTuples","title":"Python Programming/Tuples","chapter":"Tuples"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FFiles","title":"Python Programming/Files","chapter":"Files"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FReflection","title":"Python Programming/Reflection","chapter":"Reflection"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FEditing_and_Running_Python_Code","title":"Python Programming/Editing and Running Python Code","chapter":"Editing and Running Python Code"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FErrors","title":"Python Programming/Errors","chapter":"Errors"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FQ%26A","title":"Python Programming/Q&A","chapter":"Q&A"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPyQt4","title":"Python Programming/PyQt4","chapter":"PyQt4"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FCreating_Python_Programs","title":"Python Programming/Creating Python Programs","chapter":"Creating Python Programs"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FConditional_Statements","title":"Python Programming/Conditional Statements","chapter":"Conditional Statements"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExceptions","title":"Python Programming/Exceptions","chapter":"Exceptions"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FTips_and_Tricks","title":"Python Programming/Tips and Tricks","chapter":"Tips and Tricks"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FMath","title":"Python Programming/Math","chapter":"Math"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FThreading","title":"Python Programming/Threading","chapter":"Threading"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FRegular_Expression","title":"Python Programming/Regular Expression","chapter":"Regular Expression"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDictionaries","title":"Python Programming/Dictionaries","chapter":"Dictionaries"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FInteractive_mode","title":"Python Programming/Interactive mode","chapter":"Interactive mode"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FBasic_Math","title":"Python Programming/Basic Math","chapter":"Basic Math"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FLoops","title":"Python Programming/Loops","chapter":"Loops"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FWeb","title":"Python Programming/Web","chapter":"Web"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDevelopment_Environments","title":"Python Programming/Development Environments","chapter":"Development Environments"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FScoping","title":"Python Programming/Scoping","chapter":"Scoping"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDbus","title":"Python Programming/Dbus","chapter":"Dbus"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FInternet","title":"Python Programming/Internet","chapter":"Internet"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExtending_with_C%2B%2B","title":"Python Programming/Extending with C++","chapter":"Extending with C++"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSource_Documentation_and_Comments","title":"Python Programming/Source Documentation and Comments","chapter":"Source Documentation and Comments"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDecorators","title":"Python Programming/Decorators","chapter":"Decorators"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FEmail","title":"Python Programming/Email","chapter":"Email"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FLinks","title":"Python Programming/Links","chapter":"Links"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FMetaclasses","title":"Python Programming/Metaclasses","chapter":"Metaclasses"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2Fnumpy","title":"Python Programming/numpy","chapter":"numpy"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FOverview","title":"Python Programming/Overview","chapter":"Overview"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FNetworks","title":"Python Programming/Networks","chapter":"Networks"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FNumbers","title":"Python Programming/Numbers","chapter":"Numbers"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSorted_Container_Types","title":"Python Programming/Sorted Container Types","chapter":"Sorted Container Types"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FProgress_Bars","title":"Python Programming/Progress Bars","chapter":"Progress Bars"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPackage_management","title":"Python Programming/Package management","chapter":"Package management"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FCython","title":"Python Programming/Cython","chapter":"Cython"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPython_2_vs._Python_3","title":"Python Programming/Python 2 vs. Python 3","chapter":"Python 2 vs. Python 3"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FMS_Word","title":"Python Programming/MS Word","chapter":"MS Word"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FLibrary_Modules","title":"Python Programming/Library Modules","chapter":"Library Modules"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDecision_Control","title":"Python Programming/Decision Control","chapter":"Decision Control"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FXML_Tools","title":"Python Programming/XML Tools","chapter":"XML Tools"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSelf_Help","title":"Python Programming/Self Help","chapter":"Self Help"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2Fmatplotlib","title":"Python Programming/matplotlib","chapter":"matplotlib"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPerformance","title":"Python Programming/Performance","chapter":"Performance"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExtending_with_ctypes","title":"Python Programming/Extending with ctypes","chapter":"Extending with ctypes"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FCGI_interface","title":"Python Programming/CGI interface","chapter":"CGI interface"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FCommand-line_one-liners","title":"Python Programming/Command-line one-liners","chapter":"Command-line one-liners"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPopularity","title":"Python Programming/Popularity","chapter":"Popularity"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FStandard_Library","title":"Python Programming/Standard Library","chapter":"Standard Library"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FSockets","title":"Python Programming/Sockets","chapter":"Sockets"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FNaming_conventions","title":"Python Programming/Naming conventions","chapter":"Naming conventions"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FpyFormex","title":"Python Programming/pyFormex","chapter":"pyFormex"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FPyPy","title":"Python Programming/PyPy","chapter":"PyPy"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExtending_with_Perl","title":"Python Programming/Extending with Perl","chapter":"Extending with Perl"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FWSGI_web_programming","title":"Python Programming/WSGI web programming","chapter":"WSGI web programming"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FExternal_commands","title":"Python Programming/External commands","chapter":"External commands"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FNatural_Language_Toolkit","title":"Python Programming/Natural Language Toolkit","chapter":"Natural Language Toolkit"}]},"meta":{"timestamp":"2026-06-01T16:23:37.064Z","request_id":"ee661704-6ce4-4042-b663-8327345f94b1"},"status":"ok","message":"Chapters retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/search":{"get":{"operationId":"get_v1_search","tags":["Books"],"summary":"Search the textbook library","description":"","parameters":[{"name":"q","in":"query","required":true,"description":"Search text, e.g. python programming","schema":{"type":"string"},"example":"python programming"},{"name":"limit","in":"query","required":false,"description":"Max results (1-50)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":10,"query":"python programming","results":[{"url":"https://en.wikibooks.org/wiki/Python_Programming","title":"Python Programming","words":286,"snippet":"This book describes Python, an open-source general-purpose interpreted programming language available for the most popular operating systems. The current"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FCreating_Python_Programs","title":"Python Programming/Creating Python Programs","words":835,"snippet":"Welcome to Python! This tutorial will show you how to start writing programs. Python programs are nothing more than text files, and they may be edited"},{"url":"https://en.wikibooks.org/wiki/Introduction_to_Python_Programming%2FIntroduction","title":"Introduction to Python Programming/Introduction","words":676,"snippet":"semicolons, the need to compile the program and then run the program as one needs to be do in C, C++, Java programming. Python interpreter tracks the errors"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGUI_Programming","title":"Python Programming/GUI Programming","words":748,"snippet":"See also book PyGTK For GUI Programming PyGTK provides a convenient wrapper for the GTK+ library for use in Python programs, taking care of many of the"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FInternet","title":"Python Programming/Internet","words":453,"snippet":"urllib for line in urllib.urlopen(&quot;https://en.wikibooks.org/wiki/Python_Programming/Internet&quot;): print(line) Get and post methods can be used, too. import"},{"url":"https://en.wikibooks.org/wiki/Non-Programmer's_Tutorial_for_Python_3","title":"Non-Programmer's Tutorial for Python 3","words":201,"snippet":"Recursive Functions Intro to Object Oriented Programming in Python 3 Basics of OOP (Object Oriented Programming) Intro to Imported Libraries and other Functions"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGame_Programming_in_Python","title":"Python Programming/Game Programming in Python","words":684,"snippet":"Irrlicht Engine[1] (Python binding website: [2] ) Both are very good free open source C++ 3D game Engine with a Python binding. CrystalSpace is a free"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FDatabases","title":"Python Programming/Databases","words":1619,"snippet":"really up to your application. Python Programming/Database Programming APSW module, code.google.com — SQLite3 for Python 2.x and 3.x SQLite documentation"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FGetting_Python","title":"Python Programming/Getting Python","words":836,"snippet":"To program in Python, you need a Python interpreter to run your code—we will discuss interpreters later. If it&#039;s not already installed, or if the version"},{"url":"https://en.wikibooks.org/wiki/Python_Programming%2FData_Types","title":"Python Programming/Data Types","words":2016,"snippet":"&#039;lamb&#039;]), { &#039;hello&#039; : &#039;world&#039; } ),),),),),),) The Python analogue of null pointer known from other programming languages is None. None is not a null pointer"}]},"meta":{"timestamp":"2026-06-01T16:23:37.352Z","request_id":"5292829f-691b-4415-8b77-b47d60c22723"},"status":"ok","message":"Search results retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Usage notes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Wikibooks is Wikimedia's library of free, community-written textbooks, manuals and learning guides — programming, mathematics, languages, sciences, cooking, music and much more. /v1/search?q=python programming = search the library, returning matching book/page titles with a snippet and word count; /v1/book?title=Python Programming = a book's overview (its description and plain-text introduction, a cover thumbnail and the URL); /v1/chapters?title=Python Programming = the book's chapters, i.e. its subpages (e.g. Python Programming/Operators, Python Programming/Classes), each with the chapter name and URL — so you can browse a whole book's structure. Titles are Wikibooks page names; get the exact title from /v1/search first. Content is licensed CC BY-SA by the Wikibooks community. Distinct from book-metadata catalogues — this is actual free educational content. For travel guides use Wikivoyage, for the encyclopaedia use Wikipedia.","source":"Wikibooks — free open-content textbooks (en.wikibooks.org, a Wikimedia project)","endpoints":["/v1/search","/v1/book","/v1/chapters","/v1/meta"]},"meta":{"timestamp":"2026-06-01T16:23:37.445Z","request_id":"80c66a09-d3c0-4add-a19a-757c95a9326d"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":600,"monthly_call_quota":52000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1800,"monthly_call_quota":215000,"rps_limit":12,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5000,"monthly_call_quota":760000,"rps_limit":35,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/wikibooks-api"}