Homework 7

Required parts

Due by Wednesday, March 27 at midnight.



Homework 7 - Challenge 1

Turn in all class exercises from our introduction to APIs as a rendered HTML.

Homework 7 - Challenge 2

Goal: Create your own public API visualization

  1. Browse toddomotos’ list of Public APIs and abhishekbanthia’s list of Public APIs.
  2. Ideally, select one API that aligns well with your project. If this proves to be difficult for various considerations (see bullets below), choose another interesting API that is easier to work with. Considerations:
    • We’ve only covered the JSON and XML formats for responses, so you’ll have an easier time if the output is one of these types.
    • Stay away from APIs that require OAuth for Authorization unless you really want to do extra work before you get data! Most of the large social APIs (Facebook, LinkedIn, Twitter, etc.) require OAuth. toddomoto’s page lists this explicitly, but you’ll need to dig a bit if the API is only on abhishekbanthia’s list.
    • Look into the rate limits associated with your API These determine the maximum number of API calls you can make per second, hour or day. Though these are not always officially published, you can find them by Google (for example) GitHub API rate limit. If you need to slow your program down to meet the API insert calls to Sys.sleep().
    • If a wrapper package is available, you may use it, but you should also try to create the request URL without the wrapper package (using the httr2 techniques we covered).
  3. Explore the information available through your API, and write one research question that you can investigate with this information.
  4. Use visualizations and/or models to address your research question using the API data.
  5. Interpret your results and discuss limitations in roughly 100-200 words.

Project Milestone 3

See details about Milestone 3 on our Project page.



Optional

If you are aiming for an A in the course, recall from our syllabus that participating in 5 Tidy Tuesday challenges can move you toward this goal.

  • For further all-around practice, I encourage you to participate in the most recent Tidy Tuesday challenge.