# Bulk upload Property Finder listings from a spreadsheet

> Turn a units spreadsheet into PF Expert drafts with permit numbers and the right agent, then publish only the rows you mark ready.

Source: https://cotlet.dev/integrations/property-finder-api-mcp-server/bulk-upload-listings-from-spreadsheet

A developer or landlord sends 30 units as a spreadsheet, and someone at the agency retypes every row into the PF Expert listing form, permit number included, before anything can go live.

Cotlet does it in your own Property Finder account with list\_agents, create\_listing and publish\_listing, called by your AI agent, an n8n workflow or a script.

[Request access](https://cotlet.dev/app/signup?app=property-finder) [All Property Finder tools](https://cotlet.dev/integrations/property-finder-api-mcp-server)

Hosted · nothing to install or maintain

Official options

## Can Property Finder do this on its own?

Property Finder connects CRMs to listings and leads only through the PF Developer Network, where software vendors pass a review and a security audit and each PF Expert client then authorizes them; brokers get no import key of their own (checked 12 Oct 2026). Without an approved CRM, each listing goes through the PF Expert form.

By hand

## How you do it in Property Finder today

1. Sign in to PF Expert and start a new listing; PF Expert 2.0 shows a real-time preview and offers AI title and description suggestions as you fill the form.
2. Type the location, property type, price, bedrooms, size and description from one spreadsheet row, and add the photos.
3. For a Dubai listing, enter the Trakheesi permit, the Dubai Land Department advertising permit for that property, and make sure the broker has a BRN on file.
4. Assign the listing to the agent who owns the unit, choose standard, Featured or Premium, and publish.
5. Repeat for the next row. With 30 units the risk is not speed but drift: a permit number pasted into the wrong unit or a listing left on the wrong agent.

With an agent

## How to bulk upload Property Finder listings from a spreadsheet

Prompt

```
Create a draft for each row in units.csv, assign it to the agent in the last column, and publish the rows marked ready as standard listings.
```

1. 01  
### Check the sheet before touching PF Expert  
The agent reads every row first and lists the ones it cannot use: missing price, unknown community, a Dubai unit without a permit number. Those rows are reported back and never become drafts.
2. 02  
### Match agents by name, then ask  
It resolves the agent column against list\_agents. A name that matches two people or nobody stops that row and comes back as a question instead of a guess.
3. 03  
### Create drafts only  
Each valid row becomes a draft with create\_listing, with the first photo URL as the cover. Drafts stay inside your agency, so a typo at this stage costs nothing.
4. 04  
### Avoid doubles on a rerun  
Before creating, it checks your existing drafts and live listings for the same title, location and price, and skips rows that already exist, so running the same file twice does not publish a unit twice.
5. 05  
### Publish what you marked ready  
Only rows marked ready go to publish\_listing, as standard unless the sheet says otherwise. You approve the batch before anything goes live.

### What you get back

Example data

```
units.csv: 30 rows read
26 drafts created, 4 rows skipped (2 without Trakheesi permit, 1 unknown community "Marina Gate 3", 1 agent "Omar" matches two agents)
18 published as standard, 8 left as drafts (not marked ready)
Live links sent for the 18 published listings
```

### Other ways to ask

- Create drafts only from this PDF price list and leave publishing to me.
- Same file, but publish the penthouses as Premium for 15 days and the rest as standard.
- Every Sunday, pick up new rows in the shared sheet and create drafts for them.

Before you automate it

## What Property Finder allows, and what to know first

- Dubai listings on Property Finder need a Trakheesi permit, the advertising permit the Dubai Land Department issues per property, and the broker needs a Broker Registration Number (BRN).
- The Verified badge on a Dubai listing on Property Finder needs documents such as Form A, the title deed or SPA, the owner's passport or Emirates ID and a Property Advertising Agreement, checked by Property Finder's Quality Control Team; uploading those stays a step you do in PF Expert.
- In PF Expert the Agent role accesses only its own assigned listings and leads, so assigning each draft to the right agent decides which agent can see and manage it.
- Property Finder reports that title keywords move click-through by community, for example views in Business Bay and Dubai Marina, and new or renovated buildings in Downtown Dubai.

publish\_listing asks for your OK by default. To run it on a schedule without you, switch confirmation off for that tool in your dashboard.

Sources: [Property Finder Help: Your Onboarding Journey (BRN, Trakheesi, roles)](https://support.propertyfinder.ae/hc/en-us/articles/31706839466770--Your-Onboarding-Journey) · [Property Finder Partner Hub: Get More Leads by Verifying Your Listing](https://www.propertyfinder.ae/partnerhub/get-more-leads-by-verifying-your-listing/) · [Property Finder: Keywords you must include when listing your properties](https://www.propertyfinder.ae/blog/keywords-you-must-include-when-listing-your-properties/) · [Property Finder Partner Hub: PF Expert](https://www.propertyfinder.ae/partnerhub/pf-expert/)

REST

## Call create\_listing from a script

curl

```
curl https://cotlet.dev/api/v1/property-finder/create_listing \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Furnished 2BR with marina view","purpose":"rent","property_type":"Apartment","location":"Dubai Marina","price":145000,"bedrooms":2,"permit_number":"7123456789","agent_id":"ag_3d91","image_urls":["https://example.com/photos/marina-2br-1.jpg"]}'
```

Example response

```
{
"listing_id": "01JA9C5P7T",
"status": "draft",
"agent_id": "ag_3d91"
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the tool is property-finder\_create\_listing. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/property-finder-api-mcp-server#automations)

Tools

## Property Finder tools this automation uses

__Cotlet Property Finder tools used to bulk upload Property Finder listings from a spreadsheet__
| Tool | Parameters |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| list\_agents | none |
| create\_listing | title, purpose, property\_type, location, price, bedrooms, bathrooms, size\_sqft, description, image\_urls, permit\_number, agent\_id |
| publish\_listing | listing\_id, listing\_type, duration |

[All 11 Property Finder tools with descriptions](https://cotlet.dev/integrations/property-finder-api-mcp-server#tools)

## Frequently asked questions

### Can it upload photos stored on my laptop?

create\_listing takes image URLs, and the first one is the cover. Photos that sit only on your disk need a reachable link first, for example a shared cloud folder.

## More Property Finder automations

- [Weekly Property Finder listing performance report](https://cotlet.dev/integrations/property-finder-api-mcp-server/weekly-listing-performance-report)
- [Daily Property Finder new leads digest](https://cotlet.dev/integrations/property-finder-api-mcp-server/daily-new-leads-digest)
- [Fix low quality score listings on Property Finder](https://cotlet.dev/integrations/property-finder-api-mcp-server/fix-low-quality-score-listings)
- [Property Finder API and MCP server: every tool](https://cotlet.dev/integrations/property-finder-api-mcp-server)
- [All use cases](https://cotlet.dev/use-cases)

## Give your agent access to Property Finder.

Free 7-day trial with 5,000 credits, no card needed. Cotlet is independent and not affiliated with Property Finder.

[Request access](https://cotlet.dev/app/signup?app=property-finder)
