Blog

Decoding Amazon's 'Bought in Past Month': A Guide to Social Proof & Sales Velocity

Ever seen '1K+ bought in past month' on an Amazon listing? This guide breaks down what this powerful social proof metric means, how it influences buying decisions, how sellers can leverage it, and how developers can extract this data using the Easyparser API.


Editor Editor
Competitive Intelligence Updated: Read time: 8 minutes
Laptop displaying an Amazon search results page with three product listings showing star ratings, prices, and purchase frequency badges of 1K+, 500+, and 2K+ bought in the past month, representing Amazon sales velocity data for market research.

In the crowded marketplace of Amazon, a small line of text can make a huge difference: '1K+ bought in past month'. This simple statement is one of Amazon's most effective forms of social proof, a psychological and social phenomenon wherein people copy the actions of others in an attempt to undertake behavior in a given situation. This guide delves into what this metric means for shoppers and sellers, and how to track it programmatically.

For Shoppers: A Powerful Signal of Trust and Popularity

When you're deciding between two similar products, seeing that one has been purchased by thousands of people recently can be a powerful tie-breaker. For customers, the 'bought in past month' badge provides:

Amazon search results page showing eight LEGO product listings including Creator, Technic, Friends, Star Wars, Classic, Harry Potter, Icons, and NINJAGO sets, with ratings, review counts, and monthly purchase badges ranging from 300+ to 5K+ bought.

  • Instant Social Proof: It confirms that a product is popular and in demand, reducing the perceived risk of making a bad purchase.
  • Quality Assurance: While not a direct measure of quality, high sales volume suggests that many previous buyers were satisfied.
  • Trend Identification: It helps you quickly spot what's currently trending or popular in a category.
  • Decision Confidence: It simplifies the decision-making process by highlighting a community-endorsed choice.

For Sellers: A Key Indicator of Sales Velocity and Market Position

For sellers, the 'bought in past month' badge is more than just a vanity metric; it's a direct reflection of sales velocity and a powerful tool for conversion. Many teams validate this signal with Search Listing snapshots and ASIN-level checks via Product Detail. A strong purchase activity badge can lead to a virtuous cycle: higher visibility leads to more sales, which in turn strengthens the social proof, leading to even more sales.

Amazon displays this data in buckets (e.g., 50+, 100+, 1K+), and getting into a higher tier can significantly impact your product's performance. According to a 2023 analysis by Momentum Commerce, the data is highly accurate, matching actual sales figures over 90% of the time. Sellers should focus on:

  • Building Sales Momentum: Especially before peak shopping seasons like Prime Day or Black Friday, driving sales can ensure your product displays a strong 'bought in past month' figure, making it more attractive to the influx of shoppers.
  • Competitive Analysis: This metric provides a surprisingly accurate, at-a-glance view of your competitors' sales performance.
  • Marketing and Promotions: Use ad campaigns and deals to boost sales velocity and achieve a higher badge tier, which can then sustain organic sales long after the promotion ends.

For Developers: Tracking Purchase Activity with the Easyparser API

While this data is valuable, manually tracking it across hundreds of products is impossible. This is where an API like Easyparser becomes essential. The `bought_activity` object, available in both the SEARCH and DETAIL operations, provides this data in a structured format.

The `bought_activity` Object

When you make a request to Easyparser, the response for a product will contain an object like this:

{
  "bought_activity": {
    "raw": "800+ bought in past month",
    "value": 800,
    "period": "past month"
  }
}

The object provides three key pieces of information:

  • raw: The exact string displayed on Amazon (e.g., "800+ bought in past month").
  • value: The integer value of the sales bucket (e.g., 800).
  • period: The timeframe of the activity ("past month" or "past week").

Python Example: Fetching Sales Velocity for a List of Products

This Python script demonstrates how to use the Easyparser SEARCH operation to retrieve the purchase activity for the top products for a given keyword. You can extend the same pipeline with Sales Analysis to compare monthly purchase badges against historical demand trends.

import requests

import json

# Easyparser API request parameters

params = {

"api_key": "YOUR_API_KEY",

"platform": "AMZ",

"domain": ".com",

"operation": "SEARCH",

"keyword": "lego sets for adults"

}

# Execute the request

api_result = requests.get("https://realtime.easyparser.com/v1/request", params)

response_data = api_result.json()

search_results = response_data.get("result", {}).get("search", [])

print("Sales Velocity for Top LEGO Sets:")

for product in search_results:

title = product.get("title")

bought_activity = product.get("bought_activity")

if bought_activity:

print(f"- {title[:60]}... -> {bought_activity.get("raw")}")

Conclusion: From Social Proof to Market Intelligence

The 'bought in past month' badge is a prime example of how a simple piece of data can shape consumer behavior and competitive landscapes. For shoppers, it's a beacon of trust. For sellers, it's a target for sales velocity and a tool for conversion. For developers and analysts, it's a quantifiable metric for market share and product momentum. By using an API like Easyparser, brands can move beyond manual observation and integrate this critical social proof data directly into their analytics workflows, turning a simple line of text into actionable market intelligence. For deeper query-level insights, pair this with our Amazon Brand Analytics guide.

How Amazon Calculates 'Bought in Past Month'

Understanding the mechanics behind this badge helps you use the data more accurately. Amazon does not show the exact purchase count — it uses a bucket system that rounds down to the nearest threshold:

Badge DisplayedMinimum Actual PurchasesTypical Product Stage
50+ bought50New/niche product gaining traction
100+ bought100Emerging product in category
200+ bought200Solidly performing product
500+ bought500Strong seller, competitive niche
1K+ bought1,000Top performer in most categories
5K+ bought5,000Category bestseller
10K+ bought10,000Dominant market leader

The window is a rolling 30 days, not a calendar month reset. This means the count updates continuously as purchases from 31+ days ago drop off and new purchases come in. The badge only appears when a product crosses the minimum threshold of approximately 50 purchases in the past 30 days — below that, no badge is shown regardless of how many purchases occurred.

A 2023 analysis by Momentum Commerce confirmed that these figures are sourced directly from Amazon's transaction data and are accurate over 90% of the time when compared to independently measured sales data, making them one of the most reliable public-facing sales signals Amazon provides.

Competitive Analysis Using Bought in Past Month Data

For analysts and sellers, the bought-in-past-month data becomes most powerful when used comparatively across an entire product category. Here is how to systematically use it for competitive intelligence:

Estimate Category Market Share

By fetching bought_activity values for all products appearing in the top search results for a keyword, you can construct a rough market share distribution. If the top 5 products in 'wireless earbuds under $50' show values of 10K+, 5K+, 5K+, 1K+, and 500+, you can estimate that the top 3 products command roughly 75% of the recent purchase volume. This is a level of competitive intelligence that would otherwise require expensive third-party tools.

Spot Trending Products Early

A product that was at 100+ last week and now shows 500+ has quadrupled its purchase velocity — a strong signal worth investigating. Is it running a promotion? Did it get featured in a publication? Did a competitor go out of stock? The rate of change in the badge tier is often more informative than the absolute number. Tracking these changes weekly via the Easyparser API gives you an early warning system for market shifts.

Bought in Past Month vs. Best Sellers Rank: What's the Difference?

These two metrics are often confused but they measure fundamentally different things. Understanding the distinction helps you choose the right signal for each use case:

AspectBought in Past MonthBest Sellers Rank (BSR)
Time WindowRolling 30 daysOngoing weighted average (hours to days)
GranularityBucket ranges (50+, 100+, 1K+, etc.)Exact rank integer (e.g., #1,247)
ScopeAbsolute purchase countRelative rank within a category
What It SignalsRecent consumer demandReal-time sales velocity vs. competitors
Best ForMarket research, social proof analysisCompetitive positioning, trend tracking
Available via EasyparserSEARCH and DETAIL operationsRANK_AND_DIMENSION operation
Update FrequencyDailyHourly

Use BSR when you need real-time competitive positioning (it updates hourly). Use bought-in-past-month when you need a demand baseline that is less susceptible to short-term promotional spikes. The ideal approach is to track both: BSR tells you where you rank right now; bought-in-past-month tells you whether genuine consumer demand is growing or fading.

Building a Sales Velocity Tracker

Here is an extended Python script that tracks the bought_activity metric for a list of ASINs over time, storing results so you can identify trends:

import requests, json, datetime

API_KEY = "YOUR_API_KEY"

ASINS_TO_TRACK = ["B08N5WRWNW", "B09G9HD57K", "B0B8HVQR8Z"]

def get_sales_velocity(asin):

response = requests.get("https://realtime.easyparser.com/v1/request", params={

"api_key": API_KEY,

"platform": "AMZ",

"operation": "DETAIL",

"domain": ".com",

"asin": asin

})

data = response.json().get("result", {})

return {

"asin": asin,

"title": data.get("title", "")[:60],

"bought_raw": data.get("bought_activity", {}).get("raw", "N/A"),

"bought_value": data.get("bought_activity", {}).get("value", 0),

"price": data.get("price"),

"rating": data.get("rating"),

"timestamp": datetime.datetime.utcnow().isoformat()

}

# Collect and save daily snapshot

daily_snapshot = [get_sales_velocity(asin) for asin in ASINS_TO_TRACK]

with open("velocity_log.jsonl", "a") as f:

for record in daily_snapshot:

f.write(json.dumps(record) + "\n")

print(f"Tracked {record['asin']}: {record['bought_raw']} | ${record['price']}")

Schedule this script to run daily using a cron job or a task scheduler. Over time, you will accumulate a dataset showing how purchase velocity evolves for each ASIN — revealing promotional cycles, seasonal patterns, and competitive responses that are invisible from a single snapshot.

References

[1] Momentum Commerce. (2023). The Story & Data Behind those ‘Bought in Last Month’ Fields on Amazon Searches. Retrieved from: https://www.momentumcommerce.com/amazon-serp-bought-in-last-tags/
[2] Gorilla ROI. (2023). Social Proof Amazon Ultimate Guide. Retrieved from: https://www.gorillaroi.com/social-proof-amazon/
[3] Easyparser Documentation. (n.d.). Search Operation Response. Retrieved from: https://easyparser.gitbook.io/easyparser-documentation/real-time-integration/search/response

Start monitoring your competitors for free

Start Your Free Trial

100 free credits, no credit card required.

Frequently Asked Questions (FAQ)

The 'bought in past month' badge shows the approximate number of times a product has been purchased in the rolling 30-day window ending today. Amazon displays this in bucketed ranges (50+, 100+, 500+, 1K+, 5K+, 10K+) rather than exact figures. It appears on product listing pages and search results when the volume is high enough to qualify, typically 50+ purchases in the last 30 days.

Very accurate. A 2023 analysis by Momentum Commerce found the data matches actual sales figures over 90% of the time. Since Amazon generates this from its own transaction data, it reflects real purchase activity - not estimated or modeled data. The bucketed display means you see a floor (e.g., '1K+' means at least 1,000), not an exact number.

You can use it for competitive intelligence by comparing purchase velocity across products in a category to estimate market share. Track it over time to spot trending products before they become widely known. Combine it with BSR data to validate whether a product's rank reflects genuine consumer demand. The Easyparser API returns this as the bought_activity object in both SEARCH and DETAIL operations.

Yes. The Easyparser API provides the bought_activity object in the response for both SEARCH and DETAIL operations. It includes the raw display string (e.g., '1K+ bought in past month'), the numeric floor value (e.g., 1000), and the time period. This lets you track and compare purchase velocity across hundreds of products programmatically.

It depends heavily on the category. In highly competitive categories like electronics or toys, 1K+ is common for top sellers. In niche categories, 100+ can indicate a strong performer. As a seller, reaching the next bucket tier (e.g., moving from 500+ to 1K+) can meaningfully boost conversion rates since it provides stronger social proof. For competitive analysis, compare numbers within your specific subcategory rather than across all of Amazon.
Tags
Amazon bought in past monthsocial proofsales velocityAmazon badgese-commerce analyticsEasyparser APIAmazon data scrapingcompetitor analysisproduct popularityconversion rate optimization