Skip to content

Detailed Targeting

Updated: May 21, 2026

With Targeting Search, you can find targeting with one targeting type in a single API call. With the Detailed Targeting API, you can search for multiple targeting types in a single request. You can also get suggestions based on your query.

The API has four endpoints: Search, Suggestions, Browse, and Validation.

The response for these endpoints contains the following:

NameDescription
id type: stringTarget audience ID
name type: stringName of the target audience
audience_size_lower_bound type: integerEstimated lower bound target audience size
audience_size_upper_bound type: integerEstimated upper bound target audience size
path type: array of stringsIncludes the category and any parent categories the targeting falls into
description type: stringA short description of the target audience

If you do not provide limit_type, the API filters results with fewer than 2,000 people into four categories: work_employers, work_positions, education_majors, education_schools. Otherwise you get fewer meaningful results. When you use limit_type, results are filtered for one of those four categories and not everything is returned.

Retrieve target audiences for your ads that match your search query. You can provide the following parameters at this endpoint:

curl -G \
-d "q=harvard" \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/targetingsearch
NameDescription
q type: stringRequired. Query string.
limit type: integerOptional. Number of results.
limit_type type: stringOptional. Limit the type of audience to retrieve. Defaults to all types. Valid values: * interests * education_schools * education_majors * work_positions * work_employers * relationship_statuses * college_years * education_statuses * family_statuses * industries * life_events * behaviors * income
locale type: stringOptional. The locale to display audience names and descriptions, if available. Defaults to the ad account's locale.

Suggestions

Returns additional audiences you can target based on the audiences you provide.

curl -G \
-d "targeting_list=[{'type':'interests','id':6003263791114}]" \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/targetingsuggestions

Provide these parameters:

NameDescription
targeting_list type: array of {'type':'{TYPE}', 'id':{ID}​}Required. Array of {'type':'{TYPE}', 'id':{ID}​} pairs as input audience for suggestions.
limit type: integerOptional. Number of results. Default is 30. Maximum is 45.
limit_type type: stringOptional. Limit the type of audience to retrieve. Defaults to all types. Valid values: * interests * education_schools * education_majors * work_positions * work_employers * relationship_statuses * college_years * education_statuses * family_statuses * industries * life_events * behaviors * income
locale type: stringOptional. The locale to display audience names and descriptions. Defaults to the ad account's locale.

Browse

Get targeting in a structured taxonomy for Facebook categories, third-party data providers, and some interests. Results from this endpoint appear in the Browse function of the Detailed Targeting UI component in Ads Manager.

curl -G \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/targetingbrowse

Provide the following optional parameters:

NameDescription
limit_type type: stringOptional. Limit the type of audience to retrieve. Defaults to all types.
locale type: stringOptional. The locale to display audience names and descriptions. Defaults to the ad account's locale.

Validation

Verify whether an audience is valid for targeting. Validation is helpful if you have already created an ad set and want to verify its targeting spec is still valid. If the targeting is not valid, remove it from the targeting spec.

curl -G \
-d "targeting_list=[{'type':'interests','id':6003283735711}, {'type':'relationship_statuses','id':100}]" \
-d "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/targetingvalidation

In addition to the standard Detailed Targeting response fields, this endpoint also returns:

NameDescription
valid type: booleanWhether the audience is valid.

Here is the list of input parameters:

NameDescription
targeting_list type: array of {'type':'{TYPE}', 'id':{ID}​}Array of {'type':'{TYPE}', 'id':{ID}​} pairs for validation. Preferred.
id_list type: array of stringsArray of IDs for validation. Succeeds only if an ID is uniquely identifiable in the Meta audience database.
name_list type: array of stringsArray of strings for validation. Interests only. Case-insensitive.
locale type: stringLocale to display audience names and descriptions. Defaults to ad account's locale.

Provide at least one of the following: targeting_list, id_list, or name_list.

Unofficial mirror for reference/search purposes. All content originates from developers.facebook.com — see the source link at the top of each page. Machine-readable indexes: llms.txt · llms-full.txt · About