# Ammoseek — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for ammunition, firearms, magazines, and reloading components across multiple retailers while comparing prices and viewing retailer ratings. Find current deals, browse popular calibers, and access a comprehensive ammo caliber list to make informed purchasing decisions.

**Category:** E-commerce | **Website:** [ammoseek.com/](https://ammoseek.com/) | **Docs:** [parse.bot/marketplace/08ea0937-16fb-48c6-be88-18c051685f38/ammoseek-com-api](https://parse.bot/marketplace/08ea0937-16fb-48c6-be88-18c051685f38/ammoseek-com-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_ammo_caliber_list

Retrieve the full list of supported ammo calibers and their URL slugs. Useful for discovering valid caliber values for search_ammo. Returns all calibers the site indexes.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/get_ammo_caliber_list \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_deals

Retrieve current deals and coupon codes from participating retailers. Deals include retailer name, description of the offer, and coupon code when available.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/get_deals \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_popular_calibers

Retrieve popular calibers listed on the homepage, organized by gun type (handgun, rifle, rimfire, shotgun). Each caliber includes a human-readable label and a URL slug for use in search endpoints.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/get_popular_calibers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_retailer_ratings

Retrieve list of all indexed retailers and their average ratings and review counts. Useful for evaluating retailer trustworthiness when comparing listings.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/get_retailer_ratings \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_ammo

Search for in-stock ammunition by caliber. Returns detailed product listings including price, price per round, brand, retailer ratings, and condition. Results are paginated via start/length parameters. Each listing includes retailer trust data and a direct purchase link.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand` | string | No | Brand/manufacturer filter ID. 0 means no filter. |
| `caliber` | string | Yes | Caliber slug (e.g. '9mm-luger', '223-remington', '22lr', '45acp'). Use get_ammo_caliber_list or get_popular_calibers to discover valid slugs. |
| `exclude` | string | No | Keywords to exclude from search results. |
| `grains` | string | No | Grain weight filter. 0 means no filter. |
| `gun_type` | string | No | Gun type filter. Accepted values: handgun, rifle, rimfire, shotgun. |
| `include` | string | No | Keywords to include in search results. |
| `length` | integer | No | Number of results per page (max 40). |
| `sort` | string | No | Sort order for results. |
| `start` | integer | No | Pagination offset (0-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/search_ammo \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand":"<string>","caliber":"<string>","exclude":"<string>","grains":"<string>","gun_type":"<string>","include":"<string>","length":"<integer>","sort":"<string>","start":"<integer>"}'
```

### search_guns

Search for in-stock firearms. Returns paginated listings with price, retailer, description, and rating information. Results default to sorting by price.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand` | string | No | Brand/manufacturer filter ID. 0 means no filter. |
| `caliber` | string | No | Caliber filter slug. |
| `exclude` | string | No | Keywords to exclude from search results. |
| `include` | string | No | Keywords to include in search results. |
| `length` | integer | No | Number of results per page. |
| `start` | integer | No | Pagination offset (0-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/search_guns \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand":"<string>","caliber":"<string>","exclude":"<string>","include":"<string>","length":"<integer>","start":"<integer>"}'
```

### search_reloading

Search for in-stock reloading components by category. Returns paginated listings with price per unit, retailer, and rating information. Categories include bullets, brass, primers, powder, and miscellaneous.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `brand` | string | No | Brand/manufacturer filter ID. 0 means no filter. |
| `caliber` | string | No | Caliber filter slug. |
| `category` | string | Yes | Reloading category. Accepted values: bullets, brass, primers, powder, miscellaneous. |
| `exclude` | string | No | Keywords to exclude from search results. |
| `include` | string | No | Keywords to include in search results. |
| `length` | integer | No | Number of results per page. |
| `start` | integer | No | Pagination offset (0-based). |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-ammoseek-com-api-08ea0937/search_reloading \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"brand":"<string>","caliber":"<string>","category":"<string>","exclude":"<string>","include":"<string>","length":"<integer>","start":"<integer>"}'
```
