Utilizing /product/search API does not return filtered brand names


Hi Team TwoTap!

I’m currently trying to use the endpoint /product/search in order to get product_md5 for access on /product endpoint later on. However, even with a filter body like so:
filter: {
“keywords”: “dress”,
“keywords_fields”: [“brand”],
“site_ids”: [“51dc206e55a0f9706f000002”],
“genders”: [“g-women”],
“brands”: [“Forever 21”]
The products that I receive are not even close to being Forever 21 items but from sites like Trainz or Shiekh shoes. I’m pretty sure that under the support sites list of TwoTap, Forever 21 has its feed_support set to true. Any idea why I receive such query results?

Best Regards,


Hi Patrick,

When you use the keywords_fields filter you query only that field. In this case you would query the dress brand.

Your query could be just like this. You would query the dress keyword for Forever 21 store.

    "filter": {
	    "keywords": "dress",
	    "site_ids": ["51dc206e55a0f9706f000002"]


Thank you for the response Adrian! That cleared up what I was doing wrong. I used the same filter that you provided here but still getting the same random products list. This helped me narrow down on the way I’m using the request package for my http calls. It appears that I must use the key ‘form’ when using request.post calls like so:

form: {
  'filter': {
     "keywords": 'dress',
     "site_ids": ['51dc206e55a0f9706f000002']

Thanks again and Happy New Year!


Hi Patrick,

You should model your request as shown in the docs. I’m not sure how the request package works. I can’t offer troubleshooting tips about that package.

Happy New Year! :slightly_smiling_face:



Could you share the bit of the code that you’re having issues with? Maybe I can have a look at it.


My apologies, I wasn’t clear enough on my previous response that I’ve already fixed the issue. Here’s a sample where I’ve successfully searched an item even with a retail product ID on the URL:

Everything else was in accord for TwoTap query fields, it was just my own fault for not properly using the request.post without the ‘form’ key


Glad to hear Patrick!