Marcy Lab School Docs
  • Welcome
  • Student Guidelines & Policies
    • Student Handbook
    • AI Policy
    • Academic Calendar
  • Environment Setup
    • Local Environment Setup - Mac
    • Local Environment Setup - Windows
    • GitHub Setup
    • Postgres Setup
  • How-Tos
    • How To Code at Marcy: Code Style Guide
    • How to Do Short Response and Coding Assignments
    • How to Debug
    • How to PEDAC
    • How to Create A GitHub Organization and Scrumboard
    • How to Create Projects with Vite
    • How to Deploy on GitHub Pages
    • How to Deploy on Render
    • How to Test your API with Postman
  • Mod 0 - Command Line Interfaces, Git, and GitHub
    • Overview
    • 1. Command Line Interfaces
    • 2. Git & GitHub
    • 3. Git Pulling & Merging
    • 4. Git Branching & PRs
  • Mod 1 - JavaScript Fundamentals
    • Overview
    • 1. Intro to Programming
    • 2. Errors
    • 3. Node & Node Modules
    • 4. Variables, Functions & String Methods
    • 5. Control Flow, typeof, and Math
    • 6. Loops
    • 7. Arrays
    • 8. Objects
    • 9. Higher Order Functions: Callbacks
    • 10. Higher Order Functions: Array Methods
    • 11. Regex
  • Mod 2 - HTML, CSS & the DOM
    • Overview
    • 1. HTML
    • 2. CSS
    • 3. Accessibility (a11y)
    • 4. The Document Object Model (DOM) API
    • 5. Events
    • 6. Forms
    • 7. The Box Model and Positioning
    • 8. Flexbox
    • 9. Grid & Media Queries
    • 10. ESModules
    • 11. Vite
    • 12. LocalStorage
  • Mod 3 - Async & APIs
    • Overview
    • 1. Promises
    • 2. Fetch
    • 3. Building a Fetching App
    • 4. Async & Await
    • 5. A Generic Fetch Handler
  • Mod 4 - Project Week!
    • Important How Tos and Guides
      • How to Create a GitHub Organization and Scrum Board
      • How To Start a Project with Vite
      • How To Deploy a Project with GitHub Pages
    • Project Week Overview
    • Agile Methodologies
    • Deliverables & Milestones
    • Technical Requirements Checklist
    • Free API List
    • Collaborative GitHub
  • Mod 5 - Object-Oriented Programming
    • Overview
    • 1. Intro to OOP, Encapsulation, Factory Functions, and Closure
    • 2. Classes
    • 3. Private & Static
    • 4. UML Diagrams & Has Many/Belongs To Relationships
    • 5. Challenge: Implementing Has Many/Belongs To
    • 6. Inheritance
    • 7. Polymorphism
    • 8. Review and Practice
    • MDN: Object Prototypes
  • Mod 6 - Data Structures & Algorithms
    • Overview
    • Important How Tos and Guides
      • How to Debug
      • How to PEDAC
    • 1. Nodes & Linked Lists
    • 2. Singly & Doubly Linked Lists
    • 3. Stacks & Queues
    • 4. Recursion
    • 5. Trees
  • Mod 7 - React
    • Overview
    • Important How Tos and Guides
      • How to Create Projects with Vite
      • How to Deploy on GitHub Pages
    • 1. Intro to React
    • 2. Events, State, and Forms
    • 3. Fetching with useEffect
    • 4. React Router
    • 5. Building a Flashcards App
    • 6. React Context
    • 7. Global Context Pattern
  • Mod 8 - Backend
    • Overview
    • Important How Tos and Guides
      • How to Deploy on Render
      • How to Test your API with Postman
      • Postgres Setup
    • 1. Intro to Express
    • 2. Building a Static Web Server with Middleware
    • 3. Securing API Keys and Environment Variables
    • 4. RESTful CRUD API
    • 5. Model-View-Controller Architecture
    • 6. SQL and Databases
    • 7. JOIN (Association) SQL Queries
    • 8. Knex
    • 9. Your First Fullstack App!
    • 10. Migrations & Seeds
    • 11. Schema Design & Normalization
    • 12. Hashing Passwords with Bcrypt
    • 13. React Express Auth Template Overview
  • Mod 9 - Civic Tech Hackathon
    • Overview
    • Rubric
  • Mod 10 - Capstone
    • Overview
Powered by GitBook
On this page
  • Larger APIs
  • Pokemon API
  • Star Wars API
  • Open Library
  • Simpler APIs
  • More APIs
  1. Mod 4 - Project Week!

Free API List

Larger APIs

These APIs give you an incredible amount of data to play with. You may not care about the subject, but when it comes to building something with several routes, these are great options

Pokemon API

A massive set of data about pokemon

  • https://pokeapi.co/

Star Wars API

A huge API with a ton of info about Star Wars you can work with

  • https://swapi.dev/

Open Library

This API is a little opaque from the docs, but messing around eventually reveals answers.

  • https://openlibrary.org/developers/api

Here are some hints to get started, try:

  • get a list of books by a search string:

    • https://openlibrary.org/search.json?q=fantasy

  • Take one of the books "key" property and query it individually with .json

const getBook = async () => {
  const response = await fetch('https://openlibrary.org/works/OL45804W.json')
  const { title, covers } = await response.json()

  const titleEl = document.createElement('h1');
  titleEl.textContent = title;
  const coverEl = document.createElement('img');
  coverEl.src = `https://covers.openlibrary.org/b/id/${covers[0]}-L.jpg`;

  document.body.append(titleEl, coverEl);
}

getBook();

Play around there's a lot of info!

Simpler APIs

These offer a more limited range of data, but still a lot to go through! Especially the Chicago Art Museum! Remember, you can combine APIs. Maybe you have a "cheer up" app that loads up a random joke for a user, and lets them see random pictures of dogs by breed, and then a stretch goal could be it lets them favorite those photos to a gallery (saved urls in localStorage).

Get creative and have fun!

https://anapioficeandfire.com/api/characters/583

api site
API example Link
description

http://api.artic.edu/docs/#quick-start

https://api.artic.edu/api/v1/artworks

Chicago Museum of Art

https://docs.api.jikan.moe/

https://api.jikan.moe/v4/anime/32/full

Anime Data

https://thronesapi.com

https://thronesapi.com/api/v2/Characters

Game of Thrones

https://www.tvmaze.com/api

https://api.tvmaze.com/search/shows?q=girls

TV Shows

https://anapioficeandfire.com

https://anapioficeandfire.com/api/characters/583

Game of Thrones

https://datausa.io/about/api/

https://datausa.io/api/data?drilldowns=State&measures=Population&year=2016

Cool and simple population data

https://github.com/15Dkatz/official_joke_api

https://official-joke-api.appspot.com/random_joke

Random Jokes

https://randomuser.me/

https://randomuser.me/api/

New Fake random user

https://github.com/wh-iterabb-it/meowfacts

https://meowfacts.herokuapp.com/

Cat facts, not sure if true

https://www.zippopotam.us/

https://api.zippopotam.us/us/33162

Zip code to lat/long

https://funtranslations.com/api/

POST request

A fun translator with options from pirates to Yoda

https://www.themealdb.com/api.php

https://www.themealdb.com/api/json/v1/1/categories.php

A recipe API

https://dog.ceo/dog-api/documentation/

https://dog.ceo/api/breeds/image/random

Random dog pics

https://randomfox.ca/floof/

https://randomfox.ca/floof/

Random pictures of foxes

https://xkcd.vercel.app/

https://xkcd.vercel.app/?comic=latest

Load up XKCD comics

https://www.ipify.org

https://api.ipify.org?format=json

Get the user's IP

https://ipinfo.io/developers

https://ipinfo.io/161.185.160.93/geo

Get geographic data from an IP

https://sunrise-sunset.org/api

https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400

Sunset/sunrise time for geographic location

https://api.attackontitanapi.com/

https://api.attackontitanapi.com/characters

Attack on Titan

More APIs

There are of course more APIs out there than what we listed above. However, really try to aim for APIs that:

  • Do not have API keys

  • Require Servers

  • Are needlessly complicated

Remember, the point of this project is to show you can make network requests, get data, and then manipulate that dom to show the data. Don't get distracted!

PreviousTechnical Requirements ChecklistNextMod 5 - Object-Oriented Programming

Last updated 4 months ago