Discover/WarmySender API
live

WarmySender APIwarmysender.com ↗

Access WarmySender's LinkedIn outreach content, guides, documentation articles, and blog posts via 7 structured endpoints. Filter by collection, category, or slug.

Endpoint health
verified 2h ago
get_content
list_content
list_blog_posts
list_documentation
get_documentation_article
7/7 passing latest checkself-healing
Endpoints
7
Updated
3h ago

What is the WarmySender API?

The WarmySender API exposes 7 endpoints that return structured data from warmysender.com, covering product features, use cases, integrations, competitor comparisons, glossary terms, documentation articles, and blog posts. The get_documentation_article endpoint delivers full article bodies with last-updated dates — useful for tracking LinkedIn rate-limit guidance and campaign pacing rules. The list_content endpoint covers six distinct collections and returns per-item slugs, headlines, and category labels in a single response.

This call costs1 credit / call— charged only on success
Try it
Maximum number of rows to return, from the top of the site's ordering. Omitted = the whole collection.
Exact category label to filter by, forwarded to the site. Observed on guides (e.g. 'linkedin'). Omitted = no filter.
Which content collection to list.
→ api.parse.bot/scraper/c4c989fb-060c-4145-904f-522b9a831f9d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c4c989fb-060c-4145-904f-522b9a831f9d/list_content?collection=features' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 warmysender-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.

"""Walkthrough: WarmySender public content API — bounded, re-runnable."""
from parse_apis.warmysender_com_api import WarmySender, Collection, InputNotFound

client = WarmySender()

# Browse feature pages and drill into the first one for full content.
feature = client.content_summaries.list(collection=Collection.FEATURES, limit=3).first()
if feature is not None:
    print(feature.title, feature.headline)
    detail = feature.details(collection=Collection.FEATURES)
    print(detail.meta_title)
    if detail.faqs:
        print("FAQ:", detail.faqs[0].question)

# List blog categories, pick one, then list its posts.
category = client.blog_post_summaries.list_categories(limit=5).first()
if category is not None:
    for post_summary in client.blog_post_summaries.list(category=category, limit=3):
        print(post_summary.title, post_summary.author_name)

    # Drill into a post for the full body and metadata.
    summary = client.blog_post_summaries.list(category=category, limit=1).first()
    if summary is not None:
        post = summary.details()
        print(post.title, post.read_time_minutes, post.tags)

# Point-lookup a blog post by slug discovered above.
if summary is not None:
    try:
        full = client.blog_posts.get(slug=summary.slug)
        print(full.content_text[:120])
    except InputNotFound:
        print("Post not found")

# Documentation: list articles, then fetch the first one.
doc_summary = client.documentation_summaries.list(limit=3).first()
if doc_summary is not None:
    article = doc_summary.details()
    print(article.title, article.last_updated)

print("exercised: content_summaries.list / details / blog_post_summaries.list_categories"
      " / blog_post_summaries.list / details / blog_posts.get / documentation_summaries.list / details")
All endpoints · 7 totalmissing one? ·

Lists the published entries of one WarmySender content collection (features, guides, use_cases, glossary, integrations or comparisons) as summaries, one row per page. The site returns the whole collection in one response (35 features, 37 guides observed), so there is no pagination; `limit` caps the number of rows from the top of the site's ordering. The optional `category` filter is forwarded to the site and was verified on guides (e.g. 'linkedin' returns the 7 LinkedIn guides); other collections carry no category values, so filtering them returns an empty list. `category`, `industry` and `competitor_name` are null for collections that do not carry them. Each row's `slug` is the key for get_content with the same `collection`.

Input
ParamTypeDescription
limitintegerMaximum number of rows to return, from the top of the site's ordering. Omitted = the whole collection.
categorystringExact category label to filter by, forwarded to the site. Observed on guides (e.g. 'linkedin'). Omitted = no filter.
collectionrequiredstringWhich content collection to list.
Response
{
  "type": "object",
  "fields": {
    "count": "number of rows returned",
    "items": "array of content summaries: slug, title, headline, description, category, industry, competitor_name, locale",
    "category": "echo of the category filter, null when omitted",
    "collection": "echo of the requested collection"
  },
  "sample": {
    "data": {
      "count": 35,
      "items": [
        {
          "slug": "linkedin-outreach",
          "title": "LinkedIn Outreach",
          "locale": "en",
          "category": null,
          "headline": "LinkedIn Outreach on Autopilot, Inside Safe Limits",
          "industry": null,
          "description": "Connect a LinkedIn account, pick a ramp, and the scheduler paces every invite, message and profile view inside safe limits.",
          "competitor_name": null
        }
      ],
      "category": null,
      "collection": "features"
    },
    "status": "success"
  }
}

About the WarmySender API

Content Collections

list_content accepts a required collection parameter drawn from six values — features, guides, use_cases, glossary, integrations, or comparisons — and returns an array of summaries with fields slug, title, headline, description, category, industry, competitor_name, and locale. Observed sizes are 35 features and 37 guides in a single unpaginated response. An optional category filter (case-sensitive, e.g. 'linkedin') limits results to a specific label when working with guides. get_content takes any slug from that index plus its collection name and returns the full page: content_html, content_text, faqs, benefits (features only), features (integrations only), verdict (comparisons only), and industry (use_cases only) — fields that don't apply to the requested collection come back as null.

Documentation

list_documentation returns the full documentation index with no parameters — each item carries slug, title, description, and position. get_documentation_article resolves a slug to the complete article body in both HTML and plain text, plus a last_updated date in YYYY-MM-DD format (may be null). Articles cover in-product behaviour such as LinkedIn connection-request limits, InMail quotas, message ramp schedules, and troubleshooting steps.

Blog

list_blog_categories returns all published category labels (103 observed), including mixed-casing variants like 'LinkedIn', 'linkedin-automation', and 'LinkedIn Outreach'. These exact strings feed the required category parameter of list_blog_posts, which returns post summaries including excerpt, author_name, read_time_minutes, published_at, last_updated, and tags. get_blog_post adds content_html, content_text, author_bio, meta_title, meta_description, and a citations array to the summary fields.

Reliability & maintenanceVerified

The WarmySender API is a managed, monitored endpoint for warmysender.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when warmysender.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 warmysender.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.

Last verified
2h ago
Latest check
7/7 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Monitor WarmySender's published LinkedIn connection and InMail rate-limit documentation by polling get_documentation_article for changes to the last_updated field.
  • Build a competitor-intelligence feed using the comparisons collection via list_content and get_content, surfacing verdict text and feature breakdowns for each compared tool.
  • Index WarmySender's glossary collection with list_content to populate a LinkedIn automation terminology reference or knowledge base.
  • Track new blog posts across all 103 categories by calling list_blog_categories then list_blog_posts to surface fresh published_at entries and their tags.
  • Aggregate use-case pages filtered by industry field from get_content to map which verticals WarmySender targets with LinkedIn outreach workflows.
  • Pull integration pages from the integrations collection to extract features arrays showing which capabilities WarmySender documents for each connected tool.
  • Retrieve full guide bodies with get_content on the guides collection, filtered by category: 'linkedin', to extract structured faqs for customer-support tooling.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does WarmySender have an official developer API?+
WarmySender does not publish a public developer API. The endpoints here expose its published website content — documentation, blog posts, feature pages, and comparisons — as structured data.
What does `get_documentation_article` return beyond the article text?+
It returns title, description, content_html, content_text, slug, and a last_updated date in YYYY-MM-DD format. The date may be null when the site does not report one. Slugs must come from list_documentation — an unrecognised slug does not throw an error but may return stale or empty content.
How do blog category labels work, and are they case-sensitive?+
Yes, category labels are matched exactly and are case-sensitive. The site publishes 103 observed labels with mixed casing — for example 'LinkedIn' and 'linkedin-automation' are distinct values. Retrieve the full list from list_blog_categories before calling list_blog_posts; a label the site does not recognise returns an empty list rather than an error.
Does the API expose WarmySender account-level data, such as campaign metrics or connected LinkedIn account status?+
No. The API covers published content only: documentation articles, blog posts, feature descriptions, use-case pages, glossary terms, integrations, and competitor comparisons. Authenticated account or campaign data is not exposed. You can fork this API on Parse and revise it to add an endpoint targeting any additional public content the site surfaces.
Is there pagination for large collections?+
The site returns each collection in a single response — 35 features and 37 guides were observed in one call. list_content accepts an optional limit integer to cap the rows returned, but there is no page or offset parameter because the source does not paginate these collections. Blog post listings are also returned in one response per category with no pagination.
Page content last updated . Spec covers 7 endpoints from warmysender.com.
Related APIs in B2b DirectorySee all →
anything.com API
Retrieve blog posts and organize them by category from Anything.com's AI app builder platform. Use this to access detailed content about AI development, tutorials, and platform updates directly from their official blog.
afterschool.substack.com API
Access data from afterschool.substack.com.
z.arlmy.me API
Access data from z.arlmy.me.
grindr.com API
Access Grindr's public blog content by browsing posts with pagination and category filters, then read full articles on topics relevant to the community. Stay informed about news, updates, and stories directly from Grindr's official publications.
soccer-api.com API
Access soccer-related tutorials, documentation, and feature guides published on the Soccer API website through dedicated endpoints for blog posts, feature pages, and topic tags. Use this to discover development resources, product information, and tagged content organized across the Soccer API platform.
payloadspace.com API
Search and retrieve space industry news articles, company information, funding rounds, contract awards, and events from Payload Space's comprehensive database. Stay updated on latest developments across commercial space, military space, European space news, and industry events like webinars and podcasts.
cricket-api.net API
Access cricket-api.net's tutorial blog posts, information pages, and tag vocabulary to learn about cricket data integration and service coverage. Search and filter posts by tags, read full post content, and browse pricing, documentation, and product pages.
runway.com API
Access data from runway.com.