LSD

Citation Audit

Check NAP (Name, Address, Phone) consistency across Yelp, Yellow Pages, BBB and up to 47 more directories. You choose how many, or name the exact sites.

When to use this

You want to make sure your business name, address, and phone number are listed correctly everywhere online. If Yelp has your old phone number, it confuses customers and hurts your rankings. This checks the top 20 directories by default — scale up to 50, or name the exact sites you care about — and tells you where the mismatches are.

POST/v1/audit/citation
Cost: 50 credits ($0.25) for the default 20 directories — 2.5 credits per directory, up to 125 ($0.625) for all 50
Rate Limit: Varies by plan
Response: ~10-20 seconds (up to ~50s for all 50 directories)

Parameters

ParameterTypeRequiredDescription
business_namestringYesBusiness name
addressstringYesFull street address
phonestringYesBusiness phone number
directoriesnumber | string[]NoHow much to scan. A count (1-50, default 20) takes the top N by priority; an array of directory names (e.g. ["yelp", "bbb", "houzz"]) scans exactly those. 2.5 credits each

Example Request

curl -X POST https://api.localseodata.com/v1/audit/citation \
  -H "Authorization: Bearer sk_live_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "business_name": "Joe\'s Pizza",
    "address": "7 Carmine St, New York, NY 10014",
    "phone": "(212) 366-1182"
  }'

Example Response

JSON
{
  "status": "success",
  "credits_used": 50,
  "data": {
    "consistency_score": 78,
    "directories_checked": 20,
    "found": 14,
    "consistent": 9,
    "inconsistent": 2,
    "unverified": 3,
    "not_found": 6,
    "details": [
      { "directory": "yelp", "status": "consistent", "name_match": true, "address_match": true, "phone_match": true },
      { "directory": "yellowpages", "status": "inconsistent", "name_match": true, "address_match": true, "phone_match": false, "expected_phone": "(212) 366-1182" },
      { "directory": "superpages", "status": "unverified", "name_match": true, "address_match": true, "phone_match": null },
      { "directory": "foursquare", "status": "not_found", "name_match": null, "address_match": null, "phone_match": null }
    ]
  }
}

Response Fields

FieldTypeDescription
consistency_scoreinteger | nullPartial-credit NAP consistency (0-100) averaged over found listings; null when no listings were found
directories_checkedintegerHow many directories were searched — always equals what you requested (20 by default), not the number of listings that exist
foundintegerDirectories where a listing was actually found. Usually far smaller than directories_checked
consistentintegerFound listings where address and phone both match
inconsistentintegerFound listings where a field conflicts with what you supplied
unverifiedintegerFound listings where nothing conflicts but NAP could not be fully verified from the snippet
not_foundintegerDirectories with no listing for this business
detailsarrayOne row per directory scanned. Match fields are true (verified), false (conflicting value found), or null (listing found but the field isn't visible in search data)

Notes

  • Scans every directory you select, whether or not the business is listed on it. details always has one row per directory scanned — a business listed on only a handful still returns a row for each, most of them not_found.
  • directories_checked is the size of the scan, not a count of listings. Use found for 'how many directories list this business'.
  • Defaults to the top 20 directories. Pass directories: 50 for the full set, any count in between, or an explicit list like ["yelp", "bbb", "houzz"] to re-check specific listings.
  • Run regularly to catch NAP drift as businesses update their info.