LeadLocate LeadLocate APIVersion 1 Get your API key

Your whole lot, anywhere you work.

The LeadLocate API gives every salesperson live access to their dealership's inventory and a safe way to bring creative work home: search the lot, pull any vehicle, get a Facebook Marketplace listing ready to post, and save the ads, images, videos and templates you make in ChatGPT, Claude, Gemini, Canva or any AI tool straight into LeadLocate.

Want a hand? Pick your AI on the rightat the bottom of the screen. We copy a complete setup guide, you paste it in, and your AI walks you through every step.

Base URLhttps://leadlocate.com/api/v1
AuthAuthorization: Bearer llk_...

Quick start

  1. Sign in to LeadLocate, then open your user profile. In the API Keys section, create a key under Personal API Keys and copy it. It is shown once. On your phone, open the LeadLocate menu, tap your name, then tap API Keys.
  2. Check the connection. You should see your name and your dealership.
    curl https://leadlocate.com/api/v1/me \
      -H "Authorization: Bearer YOUR_KEY"
  3. Search the lot and open a Marketplace listing kit for any vehicle.
    curl "https://leadlocate.com/api/v1/inventory?q=tahoe&condition=used" \
      -H "Authorization: Bearer YOUR_KEY"

Authentication

Every call except the documentation and the OpenAPI file needs a personal API key. Send it in the Authorization header as a bearer token. X-Api-Key works too.

A key belongs to one salesperson and reads only that salesperson's dealership. It stops working the moment it is revoked on the user profile, the user is deactivated, or the dealership account is paused. LeadLocate keeps only a secure fingerprint of each key and never shows it again after it is created, so treat a key like a password.

The API reads inventory and can create new work, but it can never delete or change anything that already exists, never reaches customer records, and never sends a message to anyone. There is no PUT, PATCH or DELETE anywhere in the API.

Create in your CRM

Send a JSON body with POST. Each call adds one new item that belongs to the salesperson who owns the key, and returns where it was saved. Files are fetched from a public https link, such as a Canva, InVideo or ChatGPT export link.

EndpointCreatesBody
POST /filesA File Library file: JPG, PNG, GIF, WebP image up to 25 MB, MP4, MOV or WebM video up to 250 MB, PDF up to 50 MB. Returns the share link.file_url, optional name, folder
POST /designsA Design Studio design built around a finished image, ready to open and edit.file_url, optional name, format (original, feed45, square, story, landscape)
POST /templatesA text message or email template. Saved only, never sent.type (sms or email), title, body, optional subject
POST /notesA sticky note on your My Office desk.text, optional color
POST /todosA To Do for yourself.title, optional notes, due (YYYY-MM-DD HH:MM, dealership time), priority (1 high, 2 normal, 3 low)
GET /foldersYour File Library folder names, to pick where a file goes.
curl -X POST https://leadlocate.com/api/v1/files \
  -H "Authorization: Bearer YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"file_url":"https://example.com/telluride-ad.png","name":"Telluride weekend ad"}'

A new folder name is created for you. Daily limits keep accounts safe: 100 files, 50 designs, 50 templates, 100 notes and 100 To Dos per person per day. Repeating the same request within 15 minutes returns the first result instead of a duplicate.

Your account

GET/me

The salesperson and dealership this key belongs to.

{
  "user": { "name": "John Freeman", "email": "john@example.com" },
  "dealership": {
    "name": "VIP Motors", "city": "Dallas", "state": "TX", "zip": "75202",
    "inventory_connected": true
  }
}

One vehicle

GET/inventory/{id}

Full details for one vehicle: price, MSRP, mileage, colors, engine, transmission, drivetrain, fuel, photos and the vehicle's page on the dealership website. The id can be the id from a search result, the VIN, or the stock number. A vehicle that has sold returns 404.

Marketplace listing kit

GET/inventory/{id}/marketplace

Everything needed to list the vehicle on Facebook Marketplace from the salesperson's own account. Fields follow the order of Facebook's vehicle form and use Facebook's own option labels, so each one drops straight in. The description is written for Marketplace: clean, specific, no financing claims and no outside links.

{
  "vehicle_id": "KNDNC5H36P6297761",
  "title": "2023 Kia Carnival EX",
  "marketplace": {
    "post_url": "https://www.facebook.com/marketplace/create/vehicle",
    "fields": {
      "vehicle_type": "Car/Truck",
      "photos": ["https://...jpg"],
      "location_zip": "75202", "location_city": "Dallas, TX",
      "year": 2023, "make": "Kia", "model": "Carnival EX",
      "mileage": 14836, "price": 33166,
      "body_style": "Minivan", "exterior_color": null, "interior_color": "Gray",
      "vehicle_condition": null, "fuel_type": "Gasoline",
      "transmission": "Automatic transmission", "clean_title": null,
      "description": "2023 Kia Carnival EX\n14,836 miles, Panthera Metal exterior, Gray interior.\n..."
    },
    "needs_seller_input": ["vehicle_condition"],
    "guidance": ["Post from the salesperson's own Facebook account and review every field before publishing.", "..."],
    "listing_url": "https://www.dealer-site.com/vehicle/..."
  }
}

needs_seller_input lists anything the salesperson has to choose before publishing, such as the condition of a used vehicle. A field is null when the inventory feed does not say for certain, for example a factory color name with no plain color in it. The full photo set is on listing_url.

Use it in ChatGPT, Claude and Gemini

LeadLocate works right inside ChatGPT, Claude and Gemini. Add LeadLocate in any of them, then sign in with your LeadLocate email and password when asked. There is no key to copy. The assistant can read your inventory and save new work to your CRM, and it can never delete or change what is already there.

To add it yourself as a custom connector in ChatGPT, Claude, Gemini, Claude Code, Codex, Gemini CLI, Cursor or any other MCP client, use this address:

https://leadlocate.com/api/mcp

Then ask in plain words:

  • "How many used trucks do we have, and what is the price range?"
  • "Find a white SUV under $30,000 with fewer than 60,000 miles."
  • "Write a Facebook Marketplace listing for our newest Tahoe."
  • "Make a square ad for our used F-150s and save it to my Design Studio."
  • "Save that video to my File Library in a folder called Walkarounds."

Gemini

In Gemini on the web, open Settings, then Connected Apps, add a custom app and paste https://leadlocate.com/api/mcp. Sign in with your LeadLocate email and password and allow access. LeadLocate then works in Gemini on the web and on your phone. Custom apps in Gemini are available with a personal Google account in the US.

Tools

ToolWhat it does
search_inventoryFinds vehicles by condition, make, model, body style, year, price, mileage or free text. New first, then lowest price.
get_vehicleFull details for one vehicle by stock number, VIN or id.
get_marketplace_listingA Facebook Marketplace listing kit in the order Facebook asks for it, signed by you, ready to review and post from your own account.
get_inventory_summaryTotals, new and used counts, makes, body styles and the price range of the whole lot.
get_profileThe salesperson and dealership the connection is signed in as.
save_to_file_librarySaves an image, video or PDF from the conversation (or a link) to your File Library and returns the share link.
save_to_design_studioSaves a finished ad as a new Design Studio design in the size you choose.
create_message_templateSaves a text message or email template. Nothing is sent.
add_office_noteAdds a sticky note to your My Office desk.
create_todoAdds a To Do to your list.
list_file_library_foldersLists your File Library folder names.

Your own agents and adapters

Server side agents can use the same MCP server with a personal API key sent as a bearer token. Create a key in the API Keys section of your LeadLocate profile. For example, in Claude Code:

claude mcp add --transport http leadlocate https://leadlocate.com/api/mcp --header "Authorization: Bearer YOUR_KEY"

The OpenAI Responses API and the Claude Messages API MCP connector take the same address with your key as the authorization token. OAuth clients discover sign in on their own from https://leadlocate.com/.well-known/oauth-protected-resource/api/mcp.

Every connection is create only: it can add new work, but never delete or change anything, see customer information, or send a message. Disconnect ChatGPT, Claude, Gemini or any key at any time from API Keys on your LeadLocate profile.

Use it with Muse

Muse can work with your LeadLocate inventory directly. Ask Muse to connect a custom connector, give it the OpenAPI address below, and paste your API key when it asks for one.

https://leadlocate.com/api/v1/openapi.json

Then ask in plain words:

  • "Show me every used SUV on our lot under $35,000."
  • "What came in this week that I could show a family of five?"
  • "Get the 2023 Carnival ready for Facebook Marketplace and list it from my account."
You stay in control of anything posted from your account. Review each listing before it goes live, and take it down the day the vehicle sells.

Errors and limits

Errors come back as JSON with a stable code and a readable message.

{ "error": { "code": "unauthorized", "message": "That API key is not valid or has been revoked." } }
StatusCodeMeaning
401unauthorizedNo key, or the key is not valid or was revoked.
403user_disabled, account_pausedThe user is inactive, or the dealership account is paused.
404not_foundUnknown endpoint, or the vehicle is no longer in inventory.
429rate_limitedMore than 120 requests in one minute. Wait for Retry-After seconds.

Every authenticated response carries X-RateLimit-Limit and X-RateLimit-Remaining.

Support

Questions or ideas for what you want next? Contact LeadLocate. Use of the API is covered by the Terms of Service and the Privacy Policy.