APIFuseAPIFuseDocs

Getting started

  • 개요
  • 빠른 시작

Authentication

  • Managed key
  • Scope

Errors

  • 에러 모델
  • 재시도

Webhooks

  • 개요
  • 서명 검증

API reference

  • 아마존 재팬
  • 배달의민족 프로바이더
  • 빗썸
  • Buyee
  • 캐치테이블 음식점 검색 및 예약
  • 차란 커머스
  • 당근 공개 매물
  • 다이소 상품 및 매장 데이터
  • 다나와 가격 비교
  • Demaecan
  • 에키탄
  • 여기어때 국내 숙소
  • Google Flights
  • 한강 수위
  • 핫페퍼 구루메(Hot Pepper Gourmet) 프로바이더
  • 현대카드
  • 인천공항 여객편 운항현황
  • Jalan
  • 일본 국회 회의록
  • 일본 재난 알림
  • 일본 EDINET 공시 서류
  • 일본 e-Gov 법령
  • 일본 e-Stat
  • 일본 gBizINFO (경제산업성 법인정보)
  • 일본 GSI 지오코딩
  • 일본 e-Gov 오픈데이터
  • Japan Post ZIP
  • 일본 공휴일
  • JMA Weather
  • 카카오맵 장소 검색과 길찾기
  • 카카오 T 택시 호출
  • 카카오톡 네이티브 메시징
  • 한국 주소 검색
  • AirKorea 실시간 대기오염 정보
  • 전국 동물병원
  • 한국 아파트 전월세 실거래가
  • 한국 아파트 매매 실거래가
  • 나라장터 입찰공고
  • 한국 박스오피스
  • 건축물대장 (Korea Building Register)
  • 전국 버스 도착정보
  • Korea Business Verify
  • 대한민국 캠핑장
  • 한국 DART 기업 재무정보
  • DART 기업 정보
  • 한국 문화행사(한눈에 보는 문화정보)
  • 한국 재난 알림
  • 한국 응급의료기관
  • 한국 ETF
  • 한국 전기차 충전소
  • 한국 환율 (한국수출입은행)
  • 한국 고속도로 교통
  • 금융상품 비교공시 (금융감독원 금융상품한눈에)
  • 한국 주유소 유가
  • 국가유산 정보 (국가유산청)
  • Korea Holiday
  • Korea Hospital Info
  • 전국 고속·시외버스 시간표
  • 한국 토지 매매 실거래가
  • 식약처 의약품 안전정보
  • 식약처 식품 안전 정보
  • 생활쓰레기 배출정보
  • 국가법령정보 검색·조회
  • NEIS 학교 급식 식단
  • 배송사 목록 및 택배 배송 조회
  • 전국 주차장
  • 공연예술 정보 (KOPIS)
  • Korea Pharmacy
  • 한국 인구 통계
  • 한국 주식시장지수
  • 한국 주식 시세
  • 전국 상가업소 정보
  • 한국 유기동물 (국가동물보호정보시스템)
  • 한국 관광정보 (한국관광공사)
  • 한국 열차 시간표
  • 한국 기상청 예보 데이터
  • Korea Weather Forecast
  • 대한민국 복지서비스
  • K-Startup
  • LH 청약 공고
  • 마켓컬리 상품 데이터
  • Mercari
  • 모두의주차장
  • 네이버 블로그 검색
  • 네이버 항공권 API
  • 네이버 지역 검색
  • 네이버 지도
  • 네이버 뉴스 검색
  • NHK 편성표
  • NOL 숙소
  • 오늘의집 스토어 및 콘텐츠
  • 라쿠텐 북스
  • 라쿠텐 이치바
  • 라쿠텐 레시피
  • 라쿠텐 트래블
  • SEC EDGAR Filings
  • 서울 따릉이
  • 서울 실시간 혼잡도
  • 서울 지하철 실시간 도착
  • 신한은행
  • 신한카드
  • Skiplagged
  • Steam 스토어
  • SUUMO
  • 스윙 택시
  • Tabelog
  • TableCheck
  • 업비트
  • Visit Japan Web (일본 입국 수속 서비스)
  • Weverse 프로바이더
  • 야후! 쇼핑 (일본)
  • Yogiyo
  • ZOZOTOWN

Guides

  • APIFuse 문서
  • 시작하기
  • 인증과 connection
  • 플레이그라운드
  • OpenAPI와 스키마 아티팩트
  • MCP 엔드포인트
  • 개발자 MCP 가이드
  • 스키마 번들과 변환 경고
  • Next.js App Router 연동
  • FastAPI 연동
  • 에러 처리
  • 자주 묻는 질문
  • 추가 리소스

Changelog

  • 체인지로그
APIFuseAPIFuse
문서서비스플레이그라운드상태
로그인회원가입

Authentication

Managed key

파트너 credential은 APIFuse이 보관합니다. 발급받는 것은 하나의 managed key입니다.

서비스마다 별도의 계약, 별도의 credential, 별도의 세션 관리가 필요한 것이 보통입니다. managed key는 이 부담을 하나로 줄입니다. 서비스별 credential은 전부 APIFuse이 자기 쪽에 보관하고, 통합 코드는 bearer 토큰 하나로 인증합니다. 서비스가 credential을 교체하거나 세션을 재협상해도 호출하는 쪽에서는 아무것도 바뀌지 않습니다.

하나의 key, 모든 서비스

managed key는 APIFuse 대시보드에서 발급하는 불투명한 bearer 토큰입니다. key의 scope가 허용하는 모든 서비스를 호출할 수 있으며, 새 key는 기본적으로 전체 scope를 가집니다. key 안에는 어떤 서비스 credential도 담겨 있지 않으므로, 서비스 쪽 설정을 건드리지 않고 언제든 폐기하거나 교체할 수 있습니다.

live key와 sandbox key

key의 접두사가 환경을 구분합니다. 두 환경은 완전히 격리되어 있습니다. sandbox key로 만든 객체는 실제 매장이나 서비스에 전달되지 않고 live key에서 보이지도 않으며, 반대 방향도 마찬가지입니다. 접두사만 다를 뿐 두 key의 형식과 사용법은 동일하므로, 환경 변수 값만 바꾸면 같은 코드가 그대로 동작합니다.

접두사환경호출 동작
frism_live_live실제 서비스로 전달됩니다. 예약, 주문, 결제가 실제로 발생합니다.
frism_test_sandbox격리된 sandbox 데이터에서 실행됩니다. 서비스에 아무것도 전달되지 않으므로 자유롭게 생성하고 취소할 수 있습니다.
이 가이드의 모든 예제는 frism_test_ key를 사용합니다. sandbox key 발급 절차는 빠른 시작에서 안내합니다.

Authorization 헤더

모든 요청은 표준 bearer 헤더로 key를 전달합니다. query parameter 방식이나 서비스별 헤더는 없습니다. key가 없거나 유효하지 않으면 에러 envelope에 code unauthorized가 담긴 401이 반환됩니다.

bearer 헤더로 인증하는 호출
curl "https://api.frism.dev/v1/catch-table/restaurants?area=seongsu&cuisine=japanese" \
  -H "Authorization: Bearer frism_test_k3xample"
200 응답
{
  "items": [
    {
      "id": "res_01J8Q9W3TE",
      "name": "Sushi Aoyagi",
      "area": "seongsu",
      "cuisine": "japanese",
      "price_band": "high",
      "bookable_online": true
    }
  ],
  "next_cursor": "cur_9f2kq"
}

위 호출은 의 입니다.

key 보관

managed key는 서버 측 secret입니다. 환경 변수나 secret manager에 보관하고, 백엔드에서 보내는 요청에만 첨부합니다.

  • 클라이언트 번들, 모바일 앱, 공개 저장소에 key를 넣지 않습니다. 브라우저가 내려받는 것은 전부 공개된 것입니다.
  • 브라우저와 앱의 트래픽은 자체 백엔드를 거치게 하고, key는 그 백엔드가 첨부합니다.
  • 환경마다 별도의 환경 변수(예: FRISM_API_KEY)를 사용해 live와 sandbox 값이 섞이지 않게 합니다.
환경 변수에서 key를 읽는 서버 측 호출
// 서버에서만 실행합니다. key는 환경 변수에서 읽습니다.
const key = process.env.FRISM_API_KEY;
if (!key) throw new Error("FRISM_API_KEY is not set");

const response = await fetch(
  "https://api.frism.dev/v1/catch-table/restaurants?area=seongsu&cuisine=japanese",
  { headers: { Authorization: `Bearer ${key}` } },
);
if (!response.ok) {
  throw new Error(`APIFuse error: ${response.status}`);
}

const page = await response.json();
console.log(page.items[0].name); // "Sushi Aoyagi"

key 교체

여러 key가 동시에 유효할 수 있으므로 교체에 다운타임이 없습니다. 주기적으로 교체하고, 유출이 의심되면 즉시 교체합니다.

  1. 대시보드에서 같은 scope를 가진 두 번째 key를 생성합니다.
  2. 새 key를 환경 변수에 배포하고, 트래픽이 새 key로 인증되는지 확인합니다.
  3. 이전 key를 폐기합니다. 이전 key를 계속 쓰는 요청은 그 시점부터 401 unauthorized를 받습니다.

linked-account 서비스

대부분의 서비스는 managed key만으로 동작합니다. 와 는 최종 사용자를 대신해 동작하는 linked-account 서비스입니다. 사용자가 자신의 계정을 통합에 한 번 연결하면, 그 이후의 API 호출 방식은 달라지지 않습니다. 요청은 여전히 같은 managed key로 인증하고, 사용자의 서비스 credential을 여러분이 보거나 저장할 일은 없습니다. scope 규칙도 동일하게 적용됩니다.

다음으로 key가 호출할 수 있는 범위를 좁히는 방법은 에서, 401과 403의 정확한 모양은 에서 확인합니다.

Catch Table 레퍼런스
Search restaurants
Toss Pay
Kakao T
Scope
에러 모델