WalletHub Rankings Scraper avatar

WalletHub Rankings Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
WalletHub Rankings Scraper

WalletHub Rankings Scraper

Scrape WalletHub.com's data-driven state/city ranking studies - personal finance, economy, health, safety and lifestyle rankings. Fetch any ranking study's full ranked table by URL, pick from 40+ curated popular studies, or browse the latest published studies.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Scrape WalletHub.com's data-driven state and city ranking studies — personal finance, economy, health, safety, education, and lifestyle rankings, each backed by a scored, ranked table of 50 states or 100+ cities. Fetch any study by URL, pick from 40+ curated popular studies, or browse the latest published studies. No login, no cookies, no proxy required.

What this actor does

  • Two modes: ranking (full ranked table for one or more studies) and latestStudies (browse the newest published studies)
  • 40+ curated topics via a dropdown, plus free-form rankingUrls for any WalletHub /edu/... study
  • Filters: rank range, entity-name (state/city) keyword
  • Every study's category columns preserved — sub-rank and sub-score columns are auto-flattened into camelCase fields
  • Optional methodology, metric highlights, expert panel, related studies & reader Q&A (includeMethodology) — one extra record per study with the scoring-criteria breakdown (categories, weights, metrics), the "Metric Highlights" info-graphic (each underlying metric's own top-5/bottom-5 states plus a best-vs-worst headline, e.g. "2x Difference"), the "Ask the Experts" panelist list (name, credentials, photo), the "You May Also Like" related-study links (title, URL, image), and the reader-submitted "Questions & Answers" list (question, URL, upvote count)
  • Empty fields are omitted

Output per ranking entry (mode=ranking)

  • studyTitle, studyUrl, studyId, studyYear
  • studyAuthor — WalletHub analyst credited for the study
  • studyAuthorImageUrl — the credited analyst's headshot photo
  • studyAuthorProfileUrl — link to the analyst's WalletHub profile page
  • studyPublishedDate — the study's publish date as shown on the page (e.g. "Jul 27, 2026")
  • studyModifiedDate — the study's last-updated date as shown on the page
  • studyImageUrl — the study's hero/cover image
  • entityName — state or city name
  • rank — overall rank (1 = best)
  • totalScore — overall weighted score
  • Study-specific sub-rank/sub-score columns, auto-named from the study's own table headers (e.g. costRank, accessRank, outcomesRank)
  • sizeCategory — only present for multi-category studies that publish separate side-by-side rank/score tables per group (e.g. "Best Cities for First-Time Home Buyers" ranks Large/Midsize/Small cities separately); rank is then relative to that category, not the whole study
  • sourceUrl, recordType: "rankingEntry", scrapedAt

Output per methodology record (mode=ranking, includeMethodology: true)

One extra record per study (not per entity):

  • studyTitle, studyUrl, studyId
  • methodology — array of {category, totalPoints, metrics: [{name, weight, note}]} (WalletHub's own scoring-criteria breakdown)
  • metricHighlights — array of {metricName, imageUrl, bestLabel, bestStates: [{rank, name}, ...], worstLabel, worstStates: [{rank, name}, ...], bestState, worstState, difference} (WalletHub's "Metric Highlights" info-graphic: each underlying metric's own top-5/bottom-5 states, independent of the study's overall ranking, plus a best-vs-worst headline like "2x Difference")
  • expertPanel — array of {name, credentials, imageUrl} (the "Ask the Experts" panelists WalletHub features on the study)
  • relatedStudies — array of {title, url, imageUrl} (the "You May Also Like" related-study recommendations WalletHub shows on the study page)
  • readerQuestions — array of {question, url, upvotes} (WalletHub's reader-submitted "Questions & Answers" widget for the study; answer bodies are loaded client-side by WalletHub and are not included)
  • sourceUrl, recordType: "methodology", scrapedAt

Output per study (mode=latestStudies)

  • studyTitle, studyUrl, studyId, studyYear
  • sourceUrl, recordType: "study", scrapedAt

Note: mode=latestStudies reads WalletHub's single latest-awards hub page, which lists roughly 100 studies with no further pagination. Setting maxItems above that count will not yield more records -- the run simply returns everything the hub page has.

Input

FieldTypeDefaultDescription
modestringrankingranking / latestStudies
topicselectHealthcare studyCurated popular study (mode=ranking)
rankingUrlsarrayCustom WalletHub /edu/... study URLs (mode=ranking)
minRankintDrop entries ranked better than this
maxRankintDrop entries ranked worse than this
entityNameContainsstringState/city name must contain this substring
includeMethodologybooleanfalseEmit one extra methodology + expert-panel + related-studies record per study (mode=ranking)
maxItemsint200Hard cap on emitted records (1–1000)

Example: top 10 states for healthcare

{
"mode": "ranking",
"topic": "https://wallethub.com/edu/states-with-best-healthcare/23457",
"maxRank": 10
}

Example: multiple custom studies in one run

{
"mode": "ranking",
"topic": "",
"rankingUrls": [
"https://wallethub.com/edu/best-states-for-jobs/35641",
"https://wallethub.com/edu/greenest-states/11987"
]
}

Example: browse the latest published studies

{
"mode": "latestStudies",
"maxItems": 100
}

Limitations

  • WalletHub blocks Apify's raw datacenter egress IP with a 403 on the first request. The actor automatically engages Apify Proxy's free AUTO group (no residential proxy required, no extra cost) as soon as it sees a 403, then reuses that session for the rest of the run.
  • Only WalletHub /edu/... study pages that publish a ranked data table are supported by mode=ranking; a small number of /edu/... pages are pure explainer articles with no table and will emit 0 records for that URL.
  • On rare occasions WalletHub's bot-mitigation serves a soft-blocked/interstitial page (HTTP 200, but no ranking table) to a specific AUTO-group datacenter exit IP for a specific study, even though the very same URL parses correctly on a plain, non-proxied fetch. The actor automatically rotates to a fresh proxy session and retries once before giving up on that URL; if it still can't find a table after the retry, that URL is skipped (logged as a warning) and the run continues with any other requested studies rather than failing the whole run.

Use cases

  • Personal finance content — pull ranked state/city data for articles and comparison tools
  • Relocation & real-estate research — compare states/cities on affordability, safety, or job-market rankings
  • Market research — track how a state/city ranks across dozens of WalletHub studies
  • Data journalism — bulk-export ranking tables for visualization
  • Lead generation for local businesses — target markets ranked highly for relevant categories (e.g. "best cities to start a business")

FAQ

Do I need a WalletHub account? No — all data comes from WalletHub's free public study pages.

What if my study isn't in the topic dropdown? Leave topic empty (select "Custom URL(s) below") and paste the study's URL into rankingUrls.

Why do column names vary between studies? Each WalletHub study defines its own sub-rank categories (e.g. "Cost Rank" for healthcare, "Opportunity & Competition Rank" for teachers). The actor auto-converts each study's own table headers into camelCase fields, so you get exactly the columns that study publishes — no invented or missing categories.

Are city-level and state-level studies both supported? Yes — entityName holds whichever the study ranks (state or city); the actor detects the entity column automatically.

How current is the data? WalletHub republishes most studies annually (the year appears in studyYear/studyTitle when the source includes it); the actor always scrapes the current live page, not a cached snapshot.

Can I get every WalletHub study, not just the curated 40? Yes — use rankingUrls with any /edu/... link, or run mode=latestStudies first to discover current study URLs, then feed those into mode=ranking.

Why did I get 0 results? Either the study URL doesn't have a ranked data table (some WalletHub /edu/ pages are pure explainer articles with no table), or minRank/maxRank/entityNameContains excluded every row. Widen the filters and retry.