1P by GN⁺ | ★ favorite | 댓글 1개
  • 국립공원 데이터를 앱·지도·웹사이트에 활용하려는 개발자는 NPS Data API로 공식 데이터를 직접 가져올 수 있음
  • 같은 데이터와 콘텐츠를 NPS.gov뿐 아니라 내부·외부 개발자 제품에서 재사용해 일관된 정보 제공이 가능함
  • 제공 범위는 공원 알림, 캠프장, 이벤트, 수업 계획, 보도자료, 방문자 센터 등 방문·교육·운영 정보를 폭넓게 포함함
  • 개발자는 API 키를 등록한 뒤 요청 형식과 리소스를 확인해 연동을 시작할 수 있음
  • 향후 추가될 항목은 NPS API roadmap에서 확인할 수 있어, 관련 서비스를 만드는 팀은 데이터 확장 계획을 미리 살펴볼 수 있음

NPS Data API의 역할

  • NPS Data API는 NPS 데이터를 프로젝트에 쓰려는 모든 개발자에게 개방되어 있음
  • API는 한 애플리케이션이 다른 애플리케이션과 통신하기 위한 요구사항 집합
  • NPS Data API는 데이터를 한 번 만들고 여러 제품에서 반복 사용할 수 있게 함
    • 사용 대상은 NPS.gov, 내부 개발자, 외부 개발자의 앱·지도·웹사이트임
    • 제품 제작 주체와 관계없이 같은 데이터와 콘텐츠를 재사용할 수 있음

제공 데이터

  • NPS API documentation에서 제공 데이터 유형을 확인할 수 있음
    • Alerts: 국립공원 방문에 영향을 줄 수 있는 위험, 잠재적 위험, 변화 조건 공지
    • Articles, People, and Places: 공유 콘텐츠 기사의 제목, 이미지, 짧은 설명
    • Campgrounds: 국립공원 캠프장의 위치, 연락처, 운영 시간, 시설 편의, 요금, 접근성 정보
    • Events: 국립공원 이벤트의 날짜, 시간, 요금, 설명
    • Lesson Plans: 교사가 수업에서 사용할 수 있는 국립공원 관련 수업 계획의 목표, 학년, 과목, 소요 시간, 표준 정보
    • News Releases: 국립공원 보도자료의 제목, 초록, 링크, 선택적 이미지
    • Parks: 각 국립공원의 위치, 연락처, 운영 시간, 입장료·패스 정보와 공원별 최소 5장의 사진
    • Visitor Centers: 국립공원 방문자 센터와 기타 방문자 접점 시설의 위치, 연락처, 운영 시간

개발자 시작점과 로드맵

  • 개발자는 NPS Data API website에서 API 키를 등록하고 요청 형식과 API 리소스를 확인할 수 있음
  • 다음에 개발 중이거나 추가 검토 중인 기능은 NPS API roadmap에서 볼 수 있음

댓글과 토론

Hacker News 의견들
  • API 자체는 정말 멋지지만, 마지막으로 이걸 유지보수하는 팀과 이야기했을 때가 아마 2020년쯤인데 이미 인력이 부족했고 버그 수정 정도만 할 수 있는 상태였음
    로드맵도 2017년 이후 업데이트되지 않았으니, 실제 활용성은 상황에 따라 다를 수 있음

    • 페이지 하단 면책 문구에 따르면 NPS API 로드맵의 정보는 참고용일 뿐이고, 구속력 있는 약속으로 의존하면 안 된다고 되어 있음
      2017년부터 유지보수 모드인 건 괜찮음. 인터페이스는 Jquery UI로 만들 계획임
    • 알림 기능은 괜찮지만, 나머지 대부분은 방문자 센터나 수업 계획 같은 정적 데이터라 API일 필요가 없고 정적 JSON 파일이면 충분해 보임
      캠핑장도 정적 데이터만 제공함. API로 유용하려면 야영지 예약 가능 여부를 보여주고 예약 엔드포인트까지 제공해야 함
      살아 있는 곰 목걸이 추적 같은 API 접근을 기대했음. 곰의 이동 경로가 내 하이킹 경로와 교차하면 자동으로 알려주는 시스템을 만들고 싶음
    • 그 팀의 연락처를 알 수 있음? NPS 앱은 지금까지 써본 앱 중 최고 수준이라 누가 만들었는지 알고 싶음
    • 이게 18F에서 나온 건 아닌가? 백악관 쪽의 정말 멋진 기술팀 아니었나? 그 많던 디지털 정부 예산은 다 어디로 간 건지 궁금함
    • 대체로 그럴 것 같음. 이런 종류의 일에는 예산 지원이 좋지 않아서 아쉬움
  • 이 데이터를 BigQuery로 복사해 뒀음. 이렇게 해두면 Jupyter 노트북이나 SQL 쿼리에서 훨씬 접근하기 쉬움
    nps-public-data.nps_public_data

  • 이런 게 존재해서 좋음. 공개 데이터 아카이브가 있는 GitHub도 찾았음. 이 API를 흥미롭게 쓰는 기존 프로젝트가 있을까?
    [1] https://github.com/nationalparkservice

    • GitHub는 대부분 오래된 저장소지만, Symbol Library는 아직 활발함. 개발자 API 자체는 훌륭함
  • 국립공원 목록만 보면 61개뿐인 것처럼 보이는데 실제로는 63개임
    Wikipedia와 비교해 보니 차이가 나는 이유는 National Park of American Samoa에는 아무 지정이 빠져 있고, Sequoia와 Kings Canyon이 같은 공원으로 묶여 있기 때문임
    해당 항목은 parkCode: seki로 올라가 있음

  • 참고로 더 많은 데이터가 필요하면 문서화되지는 않았지만 공개된 API들이 있음. 특정 NPS 웹사이트를 방문하면 확인할 수 있음

    • 웹사이트를 둘러보는 동안 API 명세를 자동으로 만들어주는 이런 확장 기능을 쓰기 좋은 사례일 수 있음: https://github.com/AndrewWalsh/openapi-devtools
    • HTTP도 엄밀히 말하면 API라는 농담처럼 들리기도 함. 다만 LLM 영향도 있어서 점점 더 많은 웹사이트가 스크래핑에 맞서고 있으니, 명시적 API는 앞으로 더 중요하고 유용해질 것 같음
    • 공유해줄 수 있음?
  • 여기에도 좋은 데이터가 많음: https://irma.nps.gov/Stats/
    이걸 사용해서 내 국립공원 방문 시각화를 만들었음: https://jordan-vincent.com/night-under-the-stars

  • 좋다. 토요일에 Blue Ridge Parkway에서 어떤 마일포스트가 폐쇄됐는지 표를 파싱하다가, 말 그대로 이런 게 있으면 좋겠다고 생각하고 있었음

  • NPS API에는 아직 예약 API가 빠져 있음. 개발자들이 새롭고 유용한 경험을 만들도록 끌어들이는 핵심 유인이 바로 그거였음

    • 예약은 전부 rec.gov를 통해 처리됨
    • 이건 의도적인 것이라고 봄. 이유가 여러 가지 떠오름
  • 방문자 통계는 안 보이는 것 같음. 어쩔 수 없지. 과거 방문자 데이터는 여기 있음: https://irma.nps.gov/Stats/SSRSReports/Park%20Specific%20Rep...