Local Business Listing Auditor — Yext Alternative
Pricing
from $250.00 / 1,000 completed listing audits
Local Business Listing Auditor — Yext Alternative
Audit public listing visibility for known businesses across selected directories. Compare observed name, address, phone, and website evidence, with source links and explicit match, mismatch, or not-observed labels.
Pricing
from $250.00 / 1,000 completed listing audits
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
16 days ago
Last modified
Categories
Share
Audit public listing visibility for known businesses across selected directories. Compare observed name, address, phone, and website evidence, with source links and explicit match, mismatch, or not-observed labels. For local SEO teams, the dataset preserves per-business directory evidence and the status of each requested contact-detail comparison.
Workflow: put the results to work
Supply a known location list with the business details you want checked. Review the source evidence behind each match or mismatch, and distinguish missing observations from confirmed errors. Use your listing-management system to make and approve any corrections.
What you get
One complete dataset record per persisted audit, including:
| Field | Meaning |
|---|---|
directoriesFound / directoriesMissing | Count of same-domain results found or not found in the inspected search result set. A missing result is not proof that no listing exists. |
directories[] | One evidence record per directory with its query, source URL, snippet, and individual match states. |
directoriesWithObservedMismatch | Directories where an available snippet signal disagreed with caller-provided canonical data. |
directoriesWithInsufficientEvidence | Directories where a result was found but the search snippet did not expose enough information to assess every supplied signal. |
observedCitationHealthScore | A transparent 0–100 coverage-and-evidence score, not a ranking, listing-ownership, sync, or visibility guarantee. |
sourceRunId | The owned Google SERP sub-run used to discover directory evidence. |
Quick start input
{"businesses": [{"externalId": "location-001","businessName": "Example Bakery","phone": "+1 212 555 0100","address": "123 Example Street","city": "New York","state": "NY","website": "https://example.com"}],"country": "US","maxBusinesses": 10}
The Actor requires a name, a telephone number with at least seven digits, and a city. Give the canonical address and website whenever available; they let the output say exactly what was or was not observable.
Output example
{"externalId": "location-001","businessName": "Example Bakery","city": "New York","directoriesChecked": 15,"directoriesFound": 9,"directoriesMissing": 6,"directoriesWithObservedMismatch": 1,"directoriesWithInsufficientEvidence": 4,"observedCitationHealthScore": 63,"directories": [{"directory": "yelp","findingState": "found_with_complete_match_evidence","listingUrl": "https://www.yelp.com/biz/example-bakery","nameMatch": "match","phoneMatch": "match"}],"source": "google_site_search_via_owned_serp_actor"}
How this bounded workflow compares with Yext
This independent Actor replaces one limited step: auditing public directory-discovery evidence for locations you already know, with a dataset you can schedule, export, or send to another workflow. Yext remains the appropriate choice for its managed, direct-publisher listing distribution, knowledge graph, reviews, role-based workflows, analytics, and listing-action controls.
| Decision | This Actor | Yext | Best fit |
|---|---|---|---|
| Scope | Public directory discovery and NAP-evidence audit for known locations | Managed listings, data, review, analytics, and enterprise workflows | Use this Actor for audit records; use Yext for managed publisher operations. |
| Starting point | Known business name, phone, and city | Organization/location data in the Yext platform | Use this Actor when you already maintain the location list. |
| Output | Source URL, search snippet, observed match state, explicit data gaps | Product-managed operational controls and publisher integrations | Use the Actor where auditable public evidence is enough. |
| Billing | Pay per event plus platform usage; see the Pricing tab for current rates. | Yext's current pricing is sales-led; no public same-job price was verified for this dossier | Compare only an equivalent location count, directory coverage, and action scope. |
| Effective efficiency | One source-linked audit record per known location | Broader operational workflows | Compare accepted records and operator review minutes for the same location set. |
| Actions | Read-only; does not claim, create, update, sync, or suppress listings | Supports listings operations and connected publisher workflows | Choose Yext when a human or approved workflow must change publisher data. |
Yext is a trademark of its owner. This independent Actor is not affiliated with, associated with, or endorsed by Yext.
How evidence is collected
For every business, the Actor makes one batched call to the owned khadinakbar/scrape-google-serp Actor. The call queries each fixed directory domain with a query like site:yelp.com "Example Bakery" "New York". The Actor then keeps only organic results whose host is the checked directory and compares the available title/snippet against caller-provided canonical values.
The method intentionally reports not_observed when a result snippet does not expose a phone number, address, or website. It does not silently treat absent snippet text as a mismatch. Search indexes change, and a directory can hold a listing that does not surface in the inspected result set; use source URLs and a human review before claiming a business is absent or incorrect.
Use through the API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/yext-alternative').call({businesses: [{ businessName: 'Example Bakery', phone: '+1 212 555 0100', city: 'New York' }],country: 'US',maxBusinesses: 1,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0].directories);
Use with AI agents through Apify MCP
Audit the public directory evidence for the known locations in my CRM. Keep the external ID, show only observed mismatches and insufficient-evidence records, preserve source URLs, and recommend directory changes only after a human review.
Use the current client setup at Apify MCP. Ask the agent to inspect both the dataset and OUTPUT before interpreting a run. The terminal outcome records complete, partial, invalid-input, and upstream-result states.
Best results
- Start with a clean canonical location list: official name, direct business phone, city, address, and website.
- Use the US directory set for US locations; other countries are available only for limited exploratory use in v0.1.
- Review a sample of source URLs before treating a directory gap or mismatch as an operational task.
- Schedule repeated runs when monitoring changes, while keeping the prior output as a dated observation rather than proof of continuous accuracy.
Builder's note
I designed the match states around the weak point of directory audits: search snippets often omit a phone, address, or website. A missing snippet field is therefore reported as not_observed, while an available conflicting signal is reported as a mismatch. That keeps the output useful for a review queue without turning absent evidence into a false correction task.
Responsible use
Use public listing information only for locations you are authorized to audit. Respect search-engine and directory terms, privacy law, and any review or approval process before changing a listing.
Pricing and run costs
This Actor uses Pay per event plus Apify platform usage. The Pricing tab lists the current event rates and billing terms.
| Event | Billing unit | When it applies |
|---|---|---|
apify-actor-start | Actor Start | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
citation-audited | Completed listing audit | One known business audited across the documented public-directory set, with a complete source-linked audit record persisted. Invalid input and upstream failures are not charged as completed audits. |
Run cost combines the charged events and Apify platform usage. Review the run charge limit and requested result count before starting.