Skip to main content
GET
Search for available Facebook ad targeting interests by keyword. Use this endpoint to look up interest IDs for the Boost Post endpoint. This endpoint helps you discover interest-based targeting options for your Facebook ads, along with audience size estimates.
  • Interest IDs can be used in the interests array when boosting posts.
  • Results are cached for 10 minutes.
  • Use specific, relevant search terms for best results.
  • Facebook may return different results based on your ad account’s industry and region.
  • The audienceSizeLowerBound and audienceSizeUpperBound fields in the JSON response provide an estimated range of audience size for the interest and it is useful for targeting.
  • Use specialAdCategories to return only the interests Meta allows for a special ad category campaign. Filtered requests also require accountId.

Header Parameters

Query Parameters

The search query to retrieve Facebook ad interests.Don’t forget to escape the search query, for example Rhythm%20and%20blues%20music.
array
Restrict the results to the interests Meta allows a special ad category campaign to target. Use this before boosting a housing, employment, financial, or political post so you pick interest IDs the ad will actually be approved for.The following values are supported, matching the Boost Post parameter of the same name:
  • housing
  • employment
  • financial_product_servicesfinancial_products_services and credit are accepted as equivalents and resolve to the same category
  • issues_elections_politics
  • none — accepted for symmetry with Boost Post, where it means “not in a special ad category”. It is sent to Meta as regulated_categories=["NONE"]: accountId is required and a successful response echoes ["NONE"]. This does not guarantee the same results as an unfiltered search; a Meta rejection returns code: 368. Omit specialAdCategories entirely rather than sending none if you want an ordinary unfiltered search.
Values are case-insensitive. An unrecognized value is rejected with a 400 and code: 101 listing the accepted values. That message is written in Meta’s upper-case form and also names the alternative spellings above, so it reads NONE, HOUSING, FINANCIAL_PRODUCTS_SERVICES, EMPLOYMENT, ISSUES_ELECTIONS_POLITICS, FINANCIAL_PRODUCT_SERVICES, CREDIT — the same categories listed here, not extra ones. Boost Post returns the identical message. An empty value, as in ?specialAdCategories=, is rejected the same way.Pass more than one category by repeating the parameter, for example ?search=nursing&specialAdCategories=employment&specialAdCategories=housing. The bracketed form ?specialAdCategories[]=employment&specialAdCategories[]=housing works as well. A comma-separated string such as ?specialAdCategories=employment,housing is not supported and is rejected with a 400 and code: 101. All requested categories are sent to Meta in one search. Ayrshare returns Meta’s results and does not compute or guarantee an intersection of independently eligible interests. Repeating a category, or sending two spellings of the same one, collapses to a single category.When you supply more than one category, the specialAdCategories field echoed back in the response is sorted alphabetically rather than returned in the order you sent it.Omit specialAdCategories entirely and the endpoint behaves exactly as it did before: an unfiltered search, no accountId needed, and the same response shape.
string
Required when specialAdCategories is supplied, and ignored otherwise. The ID of the Facebook ad account the interests are being searched for, without the act_ prefix — the same value Boost Post takes. Retrieve it from the ad accounts endpoint. It must be numeric; a leading act_ is accepted and stripped, and anything else is rejected with a 400 and code: 101.
Meta only offers category-aware interest search on an ad account, so a request that supplies specialAdCategories without accountId is rejected with a 400 and code: 101 before any search runs. A request with no specialAdCategories is unchanged and still needs no accountId.
number
default:100
Limit the number of ad interests returned.
A filtered response echoes the applied categories back in a specialAdCategories field, so you can confirm what the results were narrowed against. An unfiltered response omits that field entirely rather than returning it empty. Filtered results also omit the topic field on each interest, because Meta’s category-aware search does not return it — read name instead. A search with no eligible interests returns 200 with an empty interests array and count: 0, not an error, and a filtered search never falls back to unfiltered results.