Listings
In Directify, listings are the items that appear in your directory. These can be tools, services, products, or any other items you want to showcase. The API endpoints use “projects” in the URL, but they refer to listings in your directory.Get Directory Listings
Retrieve all listings for a specific directory with pagination.directory_id(integer, required): The ID of the directorypage(integer, optional): Page number for pagination (default: 1)
Get Single Listing
Retrieve a specific listing by ID.directory_id(integer, required): The ID of the directoryproject_id(integer, required): The ID of the listing
Check Listing Exists
Check if a listing with a specific URL already exists in the directory.directory_id(integer, required): The ID of the directory
Create Listing
Create a new listing in the directory.directory_id(integer, required): The ID of the directory
Bulk Create Listings
Create multiple listings in a single request. Up to 100 listings can be created at once. Each listing is processed independently, so if one fails, the others will still be created.directory_id(integer, required): The ID of the directory
| Field | Type | Description |
|---|---|---|
name | string, required | The listing name |
slug | string | URL slug (auto-generated from name if omitted) |
description | string | Short description |
content | string | Full content/body (HTML supported) |
url | string | Website URL (used for duplicate detection) |
phone_number | string | Phone number |
email | string | Contact email |
address | string | Physical address |
latitude | float | Map latitude coordinate |
longitude | float | Map longitude coordinate |
social_links | object | Social media links (e.g., {"twitter": "...", "linkedin": "..."}) |
category_id | integer | Single category ID |
categories | array | Array of category IDs |
tags | array | Array of tag IDs |
is_active | boolean | Published status (default: true) |
is_featured | boolean | Featured flag |
is_no_follow | boolean | NoFollow flag |
logo_url | string | Logo image URL |
image_url | string | Cover image URL |
logo_alt_text | string | Logo alt text |
image_alt_text | string | Cover image alt text |
additional_image_urls | array | Array of gallery image URLs |
video_url | string | Video URL |
video_thumbnail_url | string | Video thumbnail URL |
votes | integer | Vote count |
seo_title | string | SEO meta title |
seo_description | string | SEO meta description |
schema | string | JSON-LD schema markup |
head_html | string | Custom HTML for the page <head> section (e.g. hreflang tags) |
"pricing": "Free", "founded_year": "2020").
When a
url is provided, the API uses it for duplicate detection. If a listing with the same URL already exists in the directory, it will be returned as-is instead of creating a duplicate.Update Listing
Update an existing listing.directory_id(integer, required): The ID of the directoryproject_id(integer, required): The ID of the listing
Partial updates: When updating a listing, you only need to send the fields you want to change. Fields that are omitted from the request body will remain unchanged. Importantly, if you omit
categories and tags from a PUT request, the existing category and tag assignments will be preserved. To explicitly clear them, send empty arrays: "categories": [] or "tags": [].Delete Listing
Delete a listing from the directory.directory_id(integer, required): The ID of the directoryproject_id(integer, required): The ID of the listing
