Should I Answer APIshouldianswer.com ↗
Look up phone number ratings, community votes, comments, and spam reports from shouldianswer.com. 7 endpoints covering number details, search, and blog posts.
What is the Should I Answer API?
The Should I Answer API gives you access to 7 endpoints covering community-sourced phone number intelligence from shouldianswer.com. Use get_phone_number_details to retrieve a number's rating label, vote breakdown (positive, neutral, negative), category frequency map, and a full description — or pull all user-submitted comments with timestamps and sentiment via get_phone_number_comments.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/115c8a58-59cc-40f8-b328-2356842171cc/get_homepage' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace shouldianswer-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Should I Answer API — phone lookup, community reviews, and blog content."""
from parse_apis.should_i_answer_api import ShouldIAnswer, Rating, YesNo, NotFound
client = ShouldIAnswer()
# List homepage stories — bounded iteration
for story in client.stories.list(limit=3):
print(story.title, story.link)
# Look up a phone number's community details
phone = client.phonenumbers.get(phone_number="8002758777")
print(phone.formatted_number, phone.rating, phone.type)
print(phone.votes.positive, phone.votes.negative, phone.votes.neutral)
# Resolve the phone number's canonical URL
url_result = phone.search_url()
print(url_result.url)
# Drill into comments for that number
for comment in phone.comments.list(limit=3):
print(comment.username, comment.sentiment, comment.text)
# Browse blog post summaries, then navigate to full content
post_summary = client.blogpostsummaries.list(limit=1).first()
if post_summary:
full_post = post_summary.details()
print(full_post.title, full_post.content[:100])
# Typed error handling on a blog post fetch
try:
detail = client.blogposts.get(slug="nonexistent-post-slug")
print(detail.title)
except NotFound as exc:
print(f"Blog post not found: {exc}")
# Submit a rating for a phone number using enums
submission = client.phonenumber("8005551234").submit_rating(
rating=Rating.NEGATIVE,
category="Telemarketer",
did_you_answer=YesNo.YES,
did_number_call_you=YesNo.YES,
)
print(submission.formId, submission.status)
print("exercised: stories.list / phonenumbers.get / search_url / comments.list / blogpostsummaries.list / details / blogposts.get / submit_rating")
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.
No input parameters required.
{
"type": "object",
"fields": {
"latest_stories": "array of story objects each with title (string) and link (url)"
},
"sample": {
"data": {
"latest_stories": [
{
"link": "https://www.shouldianswer.com/post/learn-how-to-avoid-this-most-often-summer-scam",
"title": "Learn how to avoid this most often summer scam"
}
]
},
"status": "success"
}
}About the Should I Answer API
Phone Number Lookup and Ratings
The core of this API is phone number intelligence. get_phone_number_details accepts a phone_number string (digits only, e.g. 8002758777) and returns the type (such as toll free), a rating label summarizing community sentiment (e.g. POSITIVE COMPANY), a votes object with integer counts across negative, neutral, and positive categories, a categories map showing how frequently different call-type labels appear in reports, and a description summarizing the number's history. The formatted_number field provides a display-ready string like +1 800-275-8777.
Community Comments and Ratings Submission
get_phone_number_comments returns the full list of user-submitted reports for a number. Each comment object carries an id, category, sentiment value, username, timestamp, and text body. If no comments have been submitted, the endpoint returns an empty array. To add new community data, submit_phone_number_rating accepts phone_number along with optional fields — rating, category, comment, email, title, did_you_answer, and did_number_call_you — and returns a formId and status confirming the submission.
Search and URL Resolution
search_phone_number resolves a phone number to its canonical detail-page URL on shouldianswer.com, which is useful when you need to reference or link to the source page directly. get_homepage retrieves the current featured story feed as an array of objects with title and link fields, with no pagination required.
Blog Content
The API also exposes shouldianswer.com's editorial content. get_blog_posts returns all posts in a single response — each with title, slug, url, preview, and image. A specific post's full content can be fetched using get_blog_post with the slug from the listing. If the slug is invalid, the response includes a stale_input indicator with kind input_not_found.
The Should I Answer API is a managed, monitored endpoint for shouldianswer.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when shouldianswer.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official shouldianswer.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Flag incoming calls as spam by checking the
ratingandvotesfields fromget_phone_number_detailsbefore displaying a caller ID - Build a call-screening dashboard that aggregates
negativevote counts andcategoriesfor a set of suspicious numbers - Enrich a CRM with phone reputation data by resolving numbers through
search_phone_numberand fetching community details - Analyze common spam call categories by reading the
categoriesfrequency map across a batch of flagged numbers - Populate a community review feed by pulling
get_phone_number_commentsfor a specific number and displayingtext,sentiment, andtimestamp - Surface phone safety content in an app by fetching blog posts via
get_blog_postsand rendering full articles withget_blog_post - Allow users to submit caller reports from your app using
submit_phone_number_ratingwith category, comment, and sentiment fields
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does shouldianswer.com have an official developer API?+
What does `get_phone_number_details` return beyond a simple spam flag?+
get_phone_number_details returns a rating label, a votes breakdown with separate positive, neutral, and negative counts, a categories object mapping call-type labels to occurrence counts, a type field (e.g. toll free), a formatted_number string, and a description summarizing the number's report history.Is there pagination for comments or blog posts?+
get_phone_number_comments and get_blog_posts both return the full dataset in a single response. There are no cursor or page parameters.Does the API return historical vote trends or timestamps for rating changes?+
get_phone_number_details returns aggregate vote counts only — positive, neutral, and negative totals — without time-series breakdowns. Individual comments do include a timestamp field via get_phone_number_comments. You can fork this API on Parse and revise it to add an endpoint that tracks or aggregates comment timestamps into a trend view.Can I look up phone numbers outside the US?+
categories map, or no comments. You can fork this API on Parse and revise it to add fallback logic or integrate a secondary source for numbers with insufficient data.