Push your own businesses in, so we can work on them

Free. You are giving us data, not taking any.

Send up to 1000 objects. Once a business is on your account you can enrich it, run contact discovery on it and verify its emails, exactly as if we had found it ourselves. The response returns result_ids, so the very next call can be POST /api/enrich or POST /api/enrich/find-contacts on what you just imported.

Imported businesses are not enrolled in enrichment. Enriching them (POST /api/enrich) costs one lead per five. To have them re-checked about monthly like the businesses a search finds, enroll them with POST /api/v1/leads/enroll: one lead per two, once, enrichment included. An imported enrichment_status does not enroll a lead.

The reason to do this before a big search, rather than after: a later search that finds the same business does NOT charge you for it. We match your imported row on its website host and stamp the Google place id onto it. So import your CRM first, then sweep the market, and you pay only for what you did not already have.

Every row needs a website to be worth importing. Without one we cannot enrich it, and it cannot match a future search as a free duplicate. The response reports how many rows arrived without one.

Field names are the same ones the CSV import and the export use, so a file you exported from us round-trips: company_name, website, phone, address, city, state, country, type, rating, reviews, email, place_id and the rest. See /data-dictionary.

Counts against your plan's read limit (120 requests a minute on Growth, up to 600 on Agency), not the lead-spending one, because importing spends nothing.

post/api/v1/leads/import

Request

  • Base URL: https://lyreleads.com
  • URL: https://lyreleads.com/api/v1/leads/import
  • Auth: HTTP bearer

Request body

duplicateAction'merge' | 'overwrite' | 'exclude' | 'keep'

What to do when a row already matches one of yours. merge updates in place and keeps the row id, so its contacts, notes and list memberships survive.

duplicateCheckFieldsstring[]

How to decide two rows are the same business. Defaults to website and phone.

mergePriority'file' | 'existing' | 'fill'

fill writes only where the existing row is empty, so your own data always wins.

Response

imported, updated, unchanged, skipped, contacts_created, result_ids, without_website, leads_charged: 0

Changes

No recorded changes to this operation across all 1 revision of this API.