# User Agents

### Overview

Hyper Solutions APIs support two user agent variants for all bot protection bypass services (Akamai, DataDome, Incapsula, and Kasada).

### Supported User Agents

#### Windows User Agent (Recommended)

```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36
```

**Windows remains our recommended default.**

#### macOS User Agent

```
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/148.0.0.0 Safari/537.36
```

macOS user agent support is available for specific use cases where Windows user agents may face temporary restrictions or when targeting sites with macOS-specific requirements.

### Chrome Version Management

#### Current Version

At the time of writing, Chrome stable version is **141**. Your user agent string must reflect the current stable Chrome version to avoid detection.

#### Monitoring Chrome Releases

Track Chrome stable releases at: <https://chromiumdash.appspot.com/schedule>

Chrome follows a roughly 4-week release cycle for stable versions. Monitor this schedule to stay informed about upcoming releases.

#### Update Timeline

**Recommended update strategy:**

1. Monitor the Chrome release schedule for new stable versions
2. Wait 3-7 days after the stable release date
3. Update your user agent string to the new version
4. Update all related headers accordingly

**Why wait 3-7 days?**

* Allows time for real users to naturally update their browsers
* Avoids being among the very first to use a new version
* Ensures stability and widespread adoption of the release

#### Required Updates

When updating to a new Chrome version, you must update:

1. **User Agent String**: Update the version number (e.g., `141.0.0.0` → `142.0.0.0`)
2. **sec-ch-ua Header**: Update to match the new version

   ```
   "Chromium";v="141", "Not(A:Brand";v="8", "Google Chrome";v="141"
   ```
3. **sec-ch-ua-platform Header**:
   * Windows: `"Windows"`
   * macOS: `"macOS"`

**Critical:** All version numbers must be consistent across your entire request configuration. Mismatched versions are a strong indicator of automated traffic.

### Best Practices

#### Version Consistency

* **Keep header versions consistent**: All Chrome version references in your headers (User Agent, sec-ch-ua, etc.) must match each other. Your TLS fingerprint should also match when possible. See Troubleshooting for the narrow case where a slightly older TLS profile is acceptable.
* **Update completely**: When upgrading, update all headers simultaneously
* **Test after updates**: Verify your configuration works after version changes

#### Platform Consistency

* **Stick to one platform**: Don't switch between Windows and macOS mid-session
* **Match all platform indicators**: Ensure all platform-specific headers align
* **Maintain throughout session**: Use the same configuration for all requests in a session

#### Monitoring and Maintenance

* **Set version alerts**: Create reminders for Chrome release dates
* **Test in advance**: Prepare updated configurations before deploying
* **Monitor success rates**: Track performance after version updates
* **Document your configuration**: Keep records of what works for your use cases

### Troubleshooting

#### Detection Issues After Chrome Update

If you experience increased detection after a Chrome release:

* Verify you've updated all version-dependent headers
* Ensure version numbers are consistent across all headers
* Check that you're not updating too early (wait 3-7 days)
* Confirm your TLS fingerprint matches the Chrome version

#### Platform-Specific Blocks

If one platform gets blocked:

* Consider switching to the alternate platform temporarily
* Contact support for guidance on your specific situation
* Monitor if the block is temporary or permanent
* Ensure all platform-specific headers are correctly configured

#### **TLS Client Missing a Profile for the Latest Chrome**

If your TLS client library doesn't yet ship a fingerprint profile for the current Chrome stable version, you can usually fall back to the most recent available profile (e.g., use a Chrome 139 or 140 TLS profile while sending a Chrome 141 user agent). Chrome's TLS ClientHello does not change on every release, so older profiles often remain viable across several versions.

**This is a fallback, not a recommended steady state.** Use it only when:

* Your TLS library has not yet released a matching profile, and
* You've verified the configuration still passes against your target

**Caveats:**

* Some Chrome releases *do* introduce meaningful TLS changes. After releases like these, an older profile will be detected.
* Test your success rate before and after applying this fallback. If you see a drop, your target is fingerprinting at a level the older profile no longer matches.
* Update to a matching profile as soon as your TLS library publishes one. Don't treat this as a long-term configuration.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.hypersolutions.co/user-agents.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
