Plapi is a web application programming interface (API) for curated data about programming languages, code libraries and tutorials.
This repository contains the source code for the web API. You do not need any code from here to access the API. This README provides a reference for learning about what the API contains.
There are currently three endpoints:
-
/libraries - packages of reuseable code such as a web framework or data analysis tool
-
/programming-languages - a named programming language such as Python or Elixir
-
/tutorials - articles or blog posts that help readers learn about a programming language and/or code library
You can use these endpoints as an unauthenticated user at a rate of 15 requests per minute, or grab an API key (coming soon) to bump the limit up to 30 requests per minute.
Give the following examples a try to get an initial taste of what the API can do for you.
-
List all programming languages that first appeared starting in 2001.
GET https://api.plapi.io/programming-languages/?year-gte=2001
-
List all programming languages that first appeared starting in 2001, but no later than 2010.
GET https://api.plapi.io/programming-languages/?year-gte=2001&year-lte=2010
-
What languages are open sourced under the MIT license?
-
What code libraries are useful for deploying code?
-
List all the code libraries for either Django OR Flask.
Issue a POST request to an endpoint with the required data. There is a quick manual approval process before the data is made visible. After the data is approved it'll be live for all Plapi requests.
-
Who created this API?
Matt Makai, currently a Developer Evangelist @ Twilio.
-
Is this API open source?
Yup, MIT license. Fork and hack away. Submit a pull request when you improve the code.
-
I'm learning about web APIs. What's another one I should use?
Twilio :)
-
Where can I learn more about building web apps and APIs with Python?
Full Stack Python. Check out the table of contents for all topics or explore other links on the Best Python Resources page.
- A /change-log/ endpoint whenever something new is added.
- Retrieve random libraries and tutorials on specific tags.
- Edit existing data through POST requests.