APIFuseAPIFuseDocs

Getting started

  • Overview
  • Quickstart

Authentication

  • Managed keys
  • Scopes

Errors

  • Error model
  • Retries

Webhooks

  • Overview
  • Signatures

API reference

  • Amazon Japan
  • Baemin Provider
  • Buyee
  • CatchTable Restaurant Search and Reservations
  • Charan Commerce
  • Daangn public listings
  • Daiso Product and Store Data
  • Danawa price comparison
  • Demaecan
  • Ekitan
  • Goodchoice Domestic Lodging
  • Google Flights
  • Han River Water Level
  • Hot Pepper Gourmet provider
  • Hyundai Card
  • Jalan
  • Japan National Diet Minutes
  • Japan Disaster Alerts
  • Japan EDINET Filings
  • Japan e-Gov Law
  • Japan e-Stat
  • Japan GSI Geocoding
  • Japan e-Gov Open Data
  • Japan Post ZIP
  • Japan Public Holidays
  • JMA Weather
  • KakaoMap Place Search and Directions
  • Kakao T Taxi Dispatch
  • Korea Address Search
  • AirKorea Real-time Air Pollution
  • Korea Apartment Rent Prices
  • Korea Apartment Sale Prices
  • Korea Bid Notices
  • Korea Building Register
  • Korea Business Verify
  • Korea Camping
  • Korea DART Corporate Finance
  • DART Corporate Info
  • Korea Culture Events
  • Korea Disaster Alert
  • Korea Emergency Hospital
  • Korea ETF
  • Korea EV Charger
  • Korea Fuel Price
  • Korea Holiday
  • Korea Hospital Info
  • Korea Land Price
  • Korea MFDS Drug Safety
  • Korea MFDS Food Safety
  • Korea Household Waste Disposal Guide
  • Korea National Law Search and Lookup
  • Korea NEIS School Meals
  • Carrier List and Delivery Tracking
  • Korea Pharmacy
  • Korea Population
  • Korea Stock Index
  • Korea Stock Price
  • Korea Train Schedule
  • Korea Weather Forecast Data
  • Korea Weather Forecast
  • Korea Welfare Service
  • K-Startup
  • LH Housing Notices
  • Market Kurly product data
  • Mercari
  • Modu Parking
  • Naver Blog Search
  • Naver Flight API
  • Naver Map
  • Naver News Search
  • NOL Stays
  • Ohouse Store and Contents
  • Rakuten Ichiba
  • Rakuten Travel
  • SEC EDGAR Filings
  • Seoul Bike
  • Seoul Live Crowd Density
  • Seoul Subway Arrivals
  • Shinhan Bank
  • Shinhan Card
  • Skiplagged
  • SUUMO
  • Swing Taxi
  • Tabelog
  • TableCheck
  • Weverse Provider
  • Yahoo! Shopping (Japan)
  • Yogiyo
  • ZOZOTOWN

Guides

  • APIFuse Docs
  • Getting started
  • Authentication and Connections
  • Playground
  • OpenAPI and schemas
  • MCP endpoint
  • Developer MCP guide
  • Schema bundles
  • Next.js App Router integration
  • FastAPI integration
  • Error Handling
  • FAQ
  • Resources

Changelog

  • Changelog
APIFuseAPIFuse
DocsServicesPlaygroundStatus
Log inSign up

Authentication

Managed keys

APIFuse holds the partner credentials. You hold one managed key.

Each service would normally demand its own contract, its own credentials and its own session handling. A managed key collapses that into one thing: APIFuse keeps every per service credential on its side, and your integration authenticates with a single bearer token. When a service rotates credentials or renegotiates a session, nothing changes on your end.

One key, every service

A managed key is an opaque bearer token issued from the APIFuse dashboard. It may call every service its scopes allow, and a new key carries full scope by default. The key embeds no service credential of any kind, so you can revoke or rotate it at any time without touching anything on the service side.

Live and sandbox keys

The prefix tells you which environment a key belongs to. The two environments are fully isolated: objects created with a sandbox key never reach a real venue or service and are invisible to live keys, and the same holds in the other direction. Apart from the prefix the two kinds of key look and behave the same, so swapping the environment variable value is all it takes to move between environments.

PrefixEnvironmentWhat calls do
frism_live_LiveCalls reach the real services. Reservations, orders and payments actually happen.
frism_test_SandboxCalls run against isolated sandbox data. Nothing reaches a service, so you can create and cancel freely.
Every example in these guides uses a frism_test_ key. The quickstart walks through issuing one.

The Authorization header

Every request carries the key in a standard bearer header. There is no query parameter fallback and no per service header. A missing or invalid key returns 401 with code unauthorized in the error envelope.

A call authenticated with the bearer header
curl "https://api.frism.dev/v1/catch-table/restaurants?area=seongsu&cuisine=japanese" \
  -H "Authorization: Bearer frism_test_k3xample"
200 response
{
  "items": [
    {
      "id": "res_01J8Q9W3TE",
      "name": "Sushi Aoyagi",
      "area": "seongsu",
      "cuisine": "japanese",
      "price_band": "high",
      "bookable_online": true
    }
  ],
  "next_cursor": "cur_9f2kq"
}

The call above is from the .

Storing the key

A managed key is a server side secret. Keep it in an environment variable or a secret manager, and attach it only to requests your backend sends.

  • Never put the key in a client bundle, a mobile app or a public repository. Anything the browser downloads is public.
  • Route browser and app traffic through your own backend, and let that backend attach the key.
  • Use a separate environment variable per environment, for example FRISM_API_KEY, so live and sandbox values never mix.
Server side call with the key from the environment
// Runs on the server only. The key comes from the environment.
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"

Rotating a key

Rotation needs no downtime because any number of keys can be valid at once. Rotate on a schedule, and immediately whenever a key may have leaked.

  1. Create a second key with the same scopes in the dashboard.
  2. Deploy the new key to your environment and confirm traffic authenticates with it.
  3. Revoke the old key. Requests still using it start getting 401 unauthorized from that moment on.

Linked account services

Most services work with the managed key alone. and are linked-account services that act on behalf of an end user, so that user links their own account to your integration once. Once the link exists, nothing changes about how you call the API: requests still authenticate with the same managed key, and you never see or store the user's service credentials. Scope rules apply exactly as before.

Next, shows how to narrow what a key may call, and the documents the exact shape of 401 and 403 responses.

Search restaurants
Catch Table reference
Toss Pay
Kakao T
Scopes
error model