---
title: "Public rate lookup"
method: POST
path: "/public/lookup"
tags: ["Public"]
---

# Public rate lookup

`POST /public/lookup`

## Request

- Base URL: `https://api.taxlocus.com`
- URL: `https://api.taxlocus.com/public/lookup`
- Auth: none required

Unauthenticated sales-tax rate lookup for the top-of-funnel `/lookup` page. Rate-limited by client IP; crossing the daily cap returns `public_quota_exceeded` (429).

## Request body

- object
  - `lat` number
  - `lng` number
  - `address` object
    - `line1` string, required
    - `city` string, required
    - `state` string, required
    - `postal_code` string, required
  - `product_category` string, required: Product category. Canonical codes use a dotted taxonomy — e.g. goods.general, food.grocery, food.prepared, clothing.general, software.saas, software.prewritten, medical.rx, medical.otc, publications.books. Common aliases are also accepted (e.g. general, groceries, clothing, saas, prescription_drugs), and retired codes (e.g. medical.prescription_drugs) resolve to their canonical category.
  - `sale_amount` number
  - `as_of` string, date
  - `customer_ref` string
  - `sku` string
  - `b2b` boolean

## Response `200`

Resolved tax rate for the location.

- object

## Other responses

- `400`: Error response.
- `429`: Error response.
- `500`: Error response.

---

[API](https://skmtc.dev/taxlocus/apis/taxlocus-rest-api.md) · [All operations](https://skmtc.dev/taxlocus/apis/taxlocus-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/taxlocus/apis/taxlocus-rest-api/revisions/f3d4b84bdc56?raw)
