> ## Documentation Index
> Fetch the complete documentation index at: https://docs.symmetry.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart: Call the MWF API

> Make your first MWF API call end to end. Covers JWT login, /mwf/v1/location by address, /mwf/v1/id by mwUid, and staging versus production base URLs.

The Minimum Wage Finder (MWF) API returns applicable minimum wage rates for a work location or minimum wage unique ID (`mwUid`) across all industries, at any point in time, using JSON. This guide walks a new API client through the full flow: authenticate, look up rates by location, and look up rates by `mwUid`.

Prefer a UI over building your own integration? See the [Quickstart: Look up rates in Portal](/mwf/getting-started/portal-quickstart) instead. For a comparison of the two, see [Portal vs. API](/mwf/overview/portal-vs-api).

## Before you begin

You'll need an API key to follow this guide. If you don't have one, contact your Symmetry Client Success representative or reach out through the [Client Support Center](https://support.symmetry.com).

See [Prerequisites](/mwf/getting-started/prerequisites) for the account setup your administrator needs to complete, and the entitlement that controls whether rates are returned at all.

To try the endpoints before writing any code, download the [Postman collection and environment](/mwf/api-reference/postman-collection), or explore them interactively in the [MWF API overview](/mwf/api-reference/overview).

### Environments

| Environment | MWF API base URL                   |
| ----------- | ---------------------------------- |
| Production  | `https://api.symmetry.com`         |
| Staging     | `https://api-staging.symmetry.com` |

<Info>
  Always develop and test against the staging environment before pointing your integration at production.
</Info>

***

## Step 1: Authenticate

Every MWF API endpoint other than `/authentication/login` itself requires a JWT access token. Request one by calling the authentication endpoint with your API key.

```bash theme={null}
GET /authentication/login
```

```bash theme={null}
curl --location --request GET 'https://api-staging.symmetry.com/authentication/login' \
--header 'api-key: YOUR_API_KEY'
```

A successful response returns an `accessToken`:

```json theme={null}
{
  "accessToken": "yoUrTokEnISh3re!"
}
```

Send this token as a Bearer token in the `Authorization` header on every other request in this guide. Tokens are valid for 24 hours. See the [MWF API overview](/mwf/api-reference/overview#authentication) for error responses and the difference between your API key and your access token.

***

## Step 2: Look up minimum wage rates by location

With your access token, call `/mwf/v1/location` with a work address (or a latitude/longitude pair) and an effective date. The response contains every minimum wage rate applicable to that location for that date.

```bash theme={null}
GET /mwf/v1/location
```

```bash theme={null}
curl --location --request GET 'https://api-staging.symmetry.com/mwf/v1/location?streetAddress1=14350 N 87th St&city=Scottsdale&state=AZ&zipCode=85260&effectiveDate=2026-01-01' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```

```json theme={null}
{
  "rates": [
    {
      "mwUid": "04-1-000000000-REG-000-000",
      "state": "Arizona",
      "stateCode": 4,
      "authorityType": "State",
      "authorityTypeCode": 1,
      "rate": "14.70",
      "effectiveDate": "2026-01-01",
      "majorType": "REG",
      "industryType": "",
      "industryTypeCode": 0,
      "minorType": "",
      "minorTypeCode": 0,
      "details": "",
      "updated": "2025-10-19 20:57:26"
    }
  ],
  "normalizedAddress": {
    "streetAddress1": "14350 N 87th St",
    "city": "Scottsdale",
    "state": "AZ",
    "zipCode": "85260-2663"
  },
  "normalizedCoordinates": {
    "longitude": -111.894828,
    "latitude": 33.615513
  }
}
```

A single location can return more than one rate at once, one per applicable authority level (federal, state, county, city), and potentially more than one per level if industry- or attribute-specific overrides apply. See [Authority levels](/mwf/core-concepts/authority-levels) and [Rate types](/mwf/core-concepts/rate-types) to interpret which rate(s) apply to a specific employee.

***

## Step 3: Look up minimum wage rates by `mwUid` (optional)

Each rate returned in Step 2 includes an `mwUid`, a unique identifier for that specific rate. Use `/mwf/v1/id` to look up a rate directly by its `mwUid`, including its full effective-date history.

```bash theme={null}
GET /mwf/v1/id
```

```bash theme={null}
curl --location --request GET 'https://api-staging.symmetry.com/mwf/v1/id?mwUid=04-1-000000000-REG-000-000&pageNumber=0&pageSize=10' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```

A wildcard (`*`) can be used in place of any `mwUid` element to broaden the search. For example, `mwUid=04-*-*-*-*-*` returns every rate for Arizona regardless of authority, wage type, industry, or attribute. See [Minimum wage unique IDs](/mwf/core-concepts/mwuid-elements) for what each element in the ID represents.

***

## Next steps

<CardGroup cols={2}>
  <Card title="API reference" icon="code" href="/mwf/api-reference/minimum-wage/returns-minimum-wage-rates-by-location-address-or-coordinates-and-effective-date">
    Every endpoint with its parameters and schema, generated from the OpenAPI spec.
  </Card>

  <Card title="Retrieve recent rate updates" icon="clock-rotate-left" href="/mwf/api/recent-rate-updates">
    Poll for rates that changed, instead of re-running every location.
  </Card>
</CardGroup>

More references:

* [Use address suggestions](/mwf/api/address-suggestions)
* [Endpoints](/mwf/resources/endpoints)
