DocsAuthentication

Authentication

Every authenticated Findip API request requires your API key in the X-API-Key header.

API key format

To start using the API, contact us and we will guide you through setting up a contract. API keys start with pmk_live_. Sign in with the billing account of your metered API contract and issue or revoke keys yourself on the API keys page of the dashboard.

  • The full key is shown only once, right after it is issued. We do not keep the full value either, so copy it and store it somewhere safe at that moment. A lost key cannot be shown again — issue a new one and revoke the old one.
  • After issuance, the dashboard shows only the key's name and prefix (pmk_live_…).
  • On a prepaid contract, keys can be issued once your first top-up has gone through.

Important

Keep your API key secure. Don't expose it in client-side code, public repositories, or browser requests. Use server-side env vars or a server-side proxy.

Sending authenticated requests

Include your API key in the X-API-Key header (no Bearer prefix):

cURL
curl -X POST https://api.findip.ai/api/v1/search/semantic \
-H "X-API-Key: pmk_live_your_api_key" \
-H "Content-Type: application/json" \
-d '{"query": "semiconductor etching process", "top_k": 5}'
Python
import requests

response = requests.post(
  "https://api.findip.ai/api/v1/search/semantic",
  headers={
      "X-API-Key": "pmk_live_your_api_key",
      "Content-Type": "application/json",
  },
  json={
      "query": "semiconductor etching process",
      "top_k": 5,
  },
)
data = response.json()
JavaScript (Node.js)
const response = await fetch("https://api.findip.ai/api/v1/search/semantic", {
method: "POST",
headers: {
  "X-API-Key": "pmk_live_your_api_key",
  "Content-Type": "application/json",
},
body: JSON.stringify({
  query: "semiconductor etching process",
  top_k: 5,
}),
});
const data = await response.json();

Public endpoints

GET /api/v1/drawings/..., GET /api/v1/stats/coverage, and the health checks do not require the X-API-Key header.

Rate limiting

API requests are limited to 60 per minute, counting every API request. The API returns 429 Too Many Requests when the limit is reached.

Billing response headers

Calls made with a metered API contract key carry these response headers:

HeaderValue
X-Api-Krw-ChargedThe amount for this call. Sent on successful responses only. Document lookups are priced by the number requested, so this is an upper bound on what is deducted — documents that are not found are not charged.
X-Api-Krw-UsedThis key's usage so far this month, up to but not including this call.
X-Api-Cycle-EndThe last day of the current cycle (YYYY-MM-DD).

Units

The values are in your contract currency. KRW contracts report whole won: for example, X-Api-Krw-Charged: 80 means this call cost 80 won, and X-Api-Krw-Used: 12500 means 12,500 won used so far this month. Despite Krw in the header names, USD contracts report 1/1000 USD, so divide by 1,000 to get dollars.

Key management

You manage keys yourself on the API keys page of the dashboard:

  • Issue multiple keys per environment (dev, production)
  • Immediately revoke leaked keys
  • Check per-key usage
API Authentication — Patent Search API Keys | Findip