# Shouldianswer — Wrapped API

> **You are on:** `https://api.beta.paywithlocus.com/api` | [llms.txt](https://beta.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 phone numbers to get ratings, reviews, and community comments to identify spam calls and unwanted contacts. Access curated blog posts with tips and insights about phone number safety and caller identification.

**Category:** Reviews & Ratings | **Website:** [shouldianswer.com/](https://shouldianswer.com/) | **Docs:** [parse.bot/marketplace/fbf6380c-4679-4bc8-a04a-edb3b6bc6d8c/shouldianswer-com-api](https://parse.bot/marketplace/fbf6380c-4679-4bc8-a04a-edb3b6bc6d8c/shouldianswer-com-api)

Pay-per-use API proxy for Locus Pro. Each call burns credits from your workspace balance.

## Access

**Base URL:** `https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/`
**Auth:** `Authorization: Bearer <LOCUS_CREDITS_SECRET_KEY>` (an `lcr_` secret key or a scoped `lcac_` agent credential)
**Required header:** `Idempotency-Key: <fresh UUID per call>`. A retry with the same key replays the stored result without a new charge.
**Response:** the provider response after any endpoint-specific normalization. `X-Locus-Credits-Charged` carries the charge and `X-Locus-Credits-Balance` the remaining balance. Insufficient credits return `402` before the provider is called.
**Pricing:** estimated costs below are USD. Locus debits the credit equivalent at your workspace rate.

Full call contract: https://docs.paywithlocus.com/api-reference/introduction

> Using a Pay With Locus wallet key (`claw_` prefix)? Wallet routes are documented separately: https://docs.paywithlocus.com/wrapped-apis/for-agents

## Endpoints

### Get blog post

Retrieve the full content of a single blog post by its slug. Returns the title, slug, and full text content. Returns stale_input with kind 'input_not_found' if the slug does not match any post.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `slug` | string | Yes | Blog post slug as returned by get_blog_posts (e.g. 'learn-how-to-avoid-this-most-often-summer-scam'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/get-blog-post \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"slug":"<string>"}'
```

### Get blog posts

Retrieve the complete list of blog posts from shouldianswer.com. Returns titles, URL slugs, full URLs, preview text, and image URLs. No pagination — all posts are returned in a single response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/get-blog-posts \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get homepage

Retrieve the homepage story feed. Returns an array of story summaries (title + link) currently featured on shouldianswer.com. No pagination — the full list is returned in a single response.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/get-homepage \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Get phone number comments

Retrieve all community reviews/comments for a phone number. Each comment includes an id, category, sentiment (positive/neutral/negative), username, timestamp, and text body. Returns an empty array when no comments exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `phone_number` | string | Yes | Phone number to get comments for, digits only (e.g. '8002758777'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/get-phone-number-comments \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"phone_number":"<string>"}'
```

### Get phone number details

Retrieve full community-sourced details for a phone number: rating label, phone type, vote breakdown (positive/neutral/negative), category frequency map, and a textual description summarizing the number's history.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `phone_number` | string | Yes | Phone number to look up, digits only (e.g. '8002758777'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/get-phone-number-details \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"phone_number":"<string>"}'
```

### Search phone number

Resolve a phone number to its canonical detail-page URL on shouldianswer.com. Follows the site's search redirect to determine the final URL path for the number.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `phone_number` | string | Yes | Phone number to search for, digits only (e.g. '8005551234'). |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/search-phone-number \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"phone_number":"<string>"}'
```

### Submit phone number rating

Submit a community rating/report for a phone number via a multi-step form. Completes all form steps (call details, rating/category, comment, email) in sequence and returns the submission confirmation with a unique form ID.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Category of the call experience. |
| `comment` | string | No | Report comment describing the experience. |
| `did_number_call_you` | string | No | Whether the number initiated the call. |
| `did_you_answer` | string | No | Whether the call was answered. |
| `did_you_speak_with_human` | string | No | Whether the call involved speaking with a human. |
| `email` | string | No | Optional email address for the report. |
| `phone_number` | string | Yes | Phone number to rate, digits only (e.g. '8005551234'). |
| `rating` | string | No | Rating value. |
| `title` | string | No | Short title for the report. |

```bash
curl -X POST https://api.beta.paywithlocus.com/api/wrapped/credits/shouldianswer/submit-phone-number-rating \
  -H "Authorization: Bearer $LOCUS_CREDITS_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","comment":"<string>","did_number_call_you":"<string>","did_you_answer":"<string>","did_you_speak_with_human":"<string>","email":"<string>","phone_number":"<string>","rating":"<string>","title":"<string>"}'
```

## Next steps

- [All wrapped API providers](https://beta.paywithlocus.com/wapi/index.md): pick another provider.
- [Find and call tools](https://beta.paywithlocus.com/agent/tools.md): price ceilings, async results, and errors.
- [Credits and billing](https://beta.paywithlocus.com/agent/billing.md): what a call costs and how to add credits.
- [Agent docs index](https://beta.paywithlocus.com/agent/index.md): every Locus agent page.