Patch.com Local News, Events & Classifieds Finder avatar

Patch.com Local News, Events & Classifieds Finder

Pricing

from $0.49 / 1,000 results

Go to Apify Store
Patch.com Local News, Events & Classifieds Finder

Patch.com Local News, Events & Classifieds Finder

Search Patch.com's hyperlocal US news by keyword, town, category, author, or tag, and browse its local events calendar or classifieds board, with date-range and distance filters.

Pricing

from $0.49 / 1,000 results

Rating

0.0

(0)

Developer

Dataspryva

Dataspryva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Collect hyperlocal US news, local events and classifieds from Patch.com in one run. Search by keyword across the whole country, browse a town or a news category, follow one reporter or editorial tag, open the local events calendar, scan the classifieds board, or paste Patch URLs directly. Every record can include the full body text, article coordinates and expiry, and optional detail-page metadata such as gallery images, author avatars, comment counts, town grade/views/ZIPs, event venue details and classified contact state. No login, cookies, proxy or API key required.

What this actor does

  • Eight modes: search, byTown, byCategory, byAuthor, byTag, events, classifieds, byUrl
  • Direct URL support: paste article, event, classified, town, topic, state or search URLs and the actor turns them into a record or an equivalent scoped query
  • Full body text: bodyHtml, bodyText and bodyLength come straight from Patch's own search payload, so they cost no extra request
  • Optional detail enrichment: gallery images with captions/credits, author avatar and points, comment/reply counts, breaking/sponsored/staff flags, town grade/weekly views/ZIPs/timezone/county/metro, event venue/type/website and classified contact-form state
  • Article coordinates and expiry: latitude, longitude and expiresDate for articles; events and classifieds also expose their expiry and event coordinates
  • Up to 1,000 rows: requests above Patch's 250-hit search window are automatically split into date partitions and deduplicated
  • Monitor mode: emit only IDs that a previous run with the same monitor key has not seen
  • Search matching control: all-words matching by default, exact-phrase matching when you need it
  • Filters: publish-date range, event-occurrence date range, US state/edition, town, news category, classifieds category, author, tag and geo-radius/nearest sorting
  • Clean records: empty fields are omitted at every depth; no null, "" or [] values are pushed

Input

FieldTypeDefaultDescription
modeselectsearchsearch, byTown, byCategory, byAuthor, byTag, events, classifieds or byUrl
startUrlsrequest list–mode=byUrl only. Article, event, classified, town, category/topic, state or search URLs
searchQuerytext–Keyword to search for; empty means browse with the other filters
searchMatchselectallWordsallWords (every word anywhere) or exactPhrase (words adjacent, the old behavior)
authorNametext–Exact byline; required for byAuthor, extra filter elsewhere
tagNametext–Exact editorial tag; required for byTag, extra filter on article modes
regionSlugselect–US state/edition, including across-america (national) and us-territories
townSlugtext–Town/city slug or full town URL; pair with regionSlug for byTown
categoryselect–One of 21 Patch news topics
classifiedCategoryselect–One of 11 classifieds categories (classifieds mode only)
sortByselectrelevancerelevance, newest, oldest, nearest (news + geo), eventDate (events)
publishedAfter / publishedBeforetext–YYYY-MM-DD bounds on when the record was posted to Patch
eventDateAfter / eventDateBeforetext–YYYY-MM-DD bounds on the event's own occurrence date (events only)
nearLat / nearLngnumber–Center point for a news geo-radius search; set both together
radiusMilesinteger25Radius in miles (1–500)
includeBodyTextbooleantrueAdd bodyHtml, bodyText, bodyLength
includeDetailsbooleanfalseFetch each record's Patch page for optional enrichment fields
maxDetailsinteger100Detail pages to fetch; 0 means every emitted record
monitorModebooleanfalseEmit only records not seen by an earlier run
monitorKeytext–Namespace for monitor state; derived from the query when empty
maxItemsinteger25Maximum records to return (1–1,000)

regionSlug and townSlug are the two path segments in a Patch town URL: patch.com/california/santamonica gives regionSlug=california, townSlug=santamonica. startUrls accepts full URLs or bare patch.com/... paths; non-Patch URLs are ignored with a warning.

Modes

ModeWhat it does
searchKeyword or browse search across Patch articles; combine any filters
byTownLatest articles for one town (requires regionSlug + townSlug)
byCategoryBrowse one Patch news topic (requires category)
byAuthorEvery article matching one exact byline (requires authorName)
byTagEvery article carrying one exact editorial tag (requires tagName)
eventsPatch's local events calendar with venue, type and website enrichment
classifiedsPatch's marketplace listings with contact-form state
byUrlPaste Patch article/event/classified URLs for direct records, or town/topic/state/search URLs for scoped queries

Output fields

Every record includes recordType (article / event / classified) and scrapedAt last. Field availability depends on the content type and on whether detail enrichment is on; anything Patch does not provide is omitted rather than returned as an empty value.

Common fields

  • headline, shortHeadline, summary, author, authorId, authorUrl
  • publishedDate, updatedDate (only when changed), url
  • town, townUrl, state, regionUrl, stateName
  • imageUrl, imageCount, images[] (url, caption, credit, copyright when detail enrichment is on)
  • bodyHtml, bodyText, bodyLength (when includeBodyText is true)
  • expiresDate, contentType, patchId, promotedUntil

Articles

  • articleId, category, tags, latitude, longitude, distanceMiles (geo runs only)
  • topicId, tagIds, townId
  • Detail enrichment: preHeader, authorAvatarUrl, authorPoints, commentCount, replyCount
  • Detail enrichment: isBreakingNews, isSponsoredContent, isStaffContent, isPressRelease, isNeighborContent, isNewsPartnerContent, isDailyDigest, isRobot, isExternal, isTopStory, isMostRecent, isShared, isEvergreen, isOriginalContent, contentSource
  • Detail enrichment: townGrade, townWeeklyViews, townZipCodes, timezone, countyName, countyFips, metroArea, townLatitude, townLongitude, townType, townModel

Events

  • eventId, eventDate, eventAddress, eventLat, eventLng, isPromoted, isSharedNationally
  • Detail enrichment: eventVenueName, eventStreetAddress, eventCountry, eventWebsite, eventType, eventStatus, interestedCount, sharedTowns[]
  • Same author, comment, town and image enrichment fields as articles

Classifieds

  • classifiedId, category, expiresDate, isPromoted, isSharedNationally
  • Detail enrichment: contactFormEnabled, thankCount
  • Same author, comment, town and image enrichment fields as articles

Examples

Nationwide keyword search with full body text:

{
"mode": "search",
"searchQuery": "school board",
"sortBy": "newest",
"includeBodyText": true,
"maxItems": 50
}

One town with detail enrichment:

{
"mode": "byTown",
"regionSlug": "california",
"townSlug": "santamonica",
"includeDetails": true,
"maxDetails": 25,
"maxItems": 25
}

Events happening in a date range:

{
"mode": "events",
"regionSlug": "california",
"townSlug": "santamonica",
"eventDateAfter": "2026-11-01",
"eventDateBefore": "2026-11-30",
"sortBy": "eventDate",
"maxItems": 100
}

Classifieds in one category:

{
"mode": "classifieds",
"classifiedCategory": "housing",
"regionSlug": "texas",
"maxItems": 50
}

Paste any mix of Patch URLs:

{
"mode": "byUrl",
"startUrls": [
{ "url": "https://patch.com/california/santamonica/some-article" },
{ "url": "https://patch.com/california/across-ca" }
],
"includeBodyText": true,
"maxItems": 100
}

Only new records since the previous run:

{
"mode": "search",
"searchQuery": "city council",
"monitorMode": true,
"monitorKey": "santamonica-council",
"maxItems": 100
}

Large runs above 250 rows:

{
"mode": "search",
"searchQuery": "high school sports",
"sortBy": "newest",
"maxItems": 1000
}

How pagination works

Patch's public search key exposes at most 250 hits per query. For maxItems above 250 the actor probes the date range, recursively splits it into created_ts slices (or display_date_ts for sortBy=eventDate), collects each slice under the cap, deduplicates by Patch ID and then sorts the merged result. A bounded request budget prevents runaway calls; if the budget is reached before the requested row count, the status message says so instead of silently short-changing the run. There is no wall-clock cutoff.

Data source

Patch.com's public site and the search service that powers it. The actor bootstraps the scoped search host/key from Patch's own SSR payload on each run, and uses public SSR detail pages only when detail enrichment or URL mode asks for them. It never uses cookies, logins, paid proxies or unofficial credentials.

Limitations

  • 250 hits per backend query: handled with date partitioning; extremely dense single-second ranges can still cap a slice.
  • Image placeholders: some imageUrl values are Patch layout assets rather than article photos; images[] from detail pages is the gallery source.
  • Conditional metadata: venue name/street, author avatars, gallery captions and classified contact state appear only when Patch stores them.
  • US only: Patch is a US hyperlocal network. us-territories is a valid region but currently has no articles; across-america is the national edition.
  • Comment text and article view counts: Patch does not expose comment threads, commenter identities or article view counts publicly; only counts and town-level weekly views are available.
  • Detail enrichment is optional and per-record: it costs one request per record, so it is off by default and can be capped with maxDetails.

FAQ

Do I need an API key, cookies or a proxy? No. The actor reads Patch's public search service and public pages directly. Every mode works without credentials or proxy setup.

Is this affiliated with Patch.com? No. It is an independent third-party actor that reads publicly accessible Patch.com data. It is not affiliated with or endorsed by Patch Media.

How do I find a town's regionSlug and townSlug? Open the town on patch.com and read the URL: patch.com/new-york/manhattan means regionSlug=new-york, townSlug=manhattan. You can also paste the full town URL into byUrl.

How do I find an exact authorName or tagName? Run another mode first and copy the value from the author or tags field. Patch matches these exactly (case-insensitive), so a guessed value may return zero records.

Why did a keyword search change its result count compared with the old version? The new default is searchMatch=allWords, which requires every word to appear anywhere in the headline/summary/topic and usually returns more relevant matches than an exact phrase. Set searchMatch=exactPhrase to restore the old phrase-only behavior.

Does the actor return the full article, event or classified body? Yes. bodyHtml, bodyText and bodyLength are included by default. Set includeBodyText=false to keep records small and avoid the body payload entirely.

What does includeDetails add, and what does it cost? It fetches each record's Patch page once to add gallery images/captions/credits, author avatars, comment counts, flags, town metadata, event venue/type/website and classified contact state. Failed detail pages never discard the base record; use maxDetails to cap the extra requests.

How do I get more than 250 rows? Set maxItems up to 1,000. The actor automatically partitions the date range to stay under Patch's per-query window. For very broad queries, narrow the town, category or publish-date range to reduce the number of partitions.

How does monitor mode remember what it has seen? It stores a bounded list of Patch IDs in a persistent named key-value store (shared across runs) under a key derived from monitorKey (or from the query when no key is given). Reuse the same key across scheduled runs to receive only new records.

How fresh is the data? Results come from Patch's live search index and live pages at run time, so they typically reflect newly published articles/events/classifieds within minutes.